这是使用node.js and express.js构建的简单API,它允许您通过提供图像URL执行Google逆向图像搜索。 API使用Cheerio将Google的图像搜索引擎的HTML删除,以获取结果文本和类似的图像URL。
API目前托管在Vercel上。您可以使用此链接访问它。
要使用API,您需要使用包含图像URL的JSON有效载荷向/reverse
端点提出发布请求。这是一个使用curl
的示例:
Invoke-RestMethod -Uri " https://google-reverse-image-api.vercel.app/reverse " -Method Post -Headers @{ " Content-Type " = " application/json " } -Body ' {"imageUrl": "https://fastly.picsum.photos/id/513/200/300.jpg?hmac=KcBD-M89_o9rkxWW6PS2yEfAMCfd3TH9McppOsf3GZ0"} '
如果搜索成功,则API将使用一个包含Google搜索的标题和链接的JSON对象。这是一个示例回复:
{
"success" : true ,
"message" : " Successfully Got the Result " ,
"data" : {
"similarUrl" : " https://www.google.com/search?tbm=isch&q=Elderly%20person " ,
"resultText" : " Results forÂElderly person "
}
}
如果在搜索过程中存在错误,则API将使用包含错误字段的JSON对象响应,其中包含一个错误字段。这是一个示例回复:
{
"success" : false ,
"message" : " Failed to find text output " ,
"data" : null
}
要在Python项目中使用此API,您可以使用requests
库将其发布到API端点。这是一个例子:
import requests
url = "https://google-reverse-image-api.vercel.app/reverse"
data = { "imageUrl" : "https://fastly.picsum.photos/id/513/200/300.jpg?hmac=KcBD-M89_o9rkxWW6PS2yEfAMCfd3TH9McppOsf3GZ0" }
response = requests . post ( url , json = data )
if response . ok :
print ( response . json ())
else :
print ( response . status_code )
要在JavaScript项目中使用API,您可以使用fetch
函数向API端点提出发布请求。这是一个例子:
const url = "https://google-reverse-image-api.vercel.app/reverse" ;
const data = { imageUrl : "https://fastly.picsum.photos/id/513/200/300.jpg?hmac=KcBD-M89_o9rkxWW6PS2yEfAMCfd3TH9McppOsf3GZ0" } ;
fetch ( url , {
method : "POST" ,
headers : { "Content-Type" : "application/json" } ,
body : JSON . stringify ( data ) ,
} )
. then ( ( response ) => {
if ( response . ok ) {
return response . json ( ) ;
} else {
throw new Error ( "Could not perform reverse image search." ) ;
}
} )
. then ( ( data ) => console . log ( data ) )
. catch ( ( error ) => console . error ( error ) ) ;
该API可以轻松在您的Python电报机器上使用。此处存在模块示例代码。如果您是电报机器人开发的新手,则可以分配Shikimoribot存储库。
我将尽快提供代码。
该API可以部署到支持Node.js应用程序的任何云平台。一个流行的选项是Vercel,它允许您以零配置部署Node.js应用程序。
要将此API部署到Vercel,请单击下面的按钮:
这个项目是由某个锻造创建的。随意使用并为自己的项目修改此代码。如果您发现此项目有帮助,请考虑在Github上给它一个配。
该项目是根据MIT许可证获得许可的 - 有关详细信息,请参见许可证文件。
通过使用此API,您同意以下条款: