これは、node.jsおよびexpress.jsを使用して構築された単純なAPIであり、画像URLを提供してGoogleリバース画像検索を実行できます。 APIはcheerioを使用してGoogleの画像検索エンジンのHTMLを廃棄して、結果テキストと同様の画像URLを取得します。
APIは現在Vercelでホストされています。このリンクを使用してアクセスできます。
APIを使用するには、画像URLを含むJSONペイロードを使用して/reverse
エンドポイントへのPOSTリクエストを作成する必要があります。これが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 Telegramボットで簡単に使用できます。モジュールの例コードはここに存在します。電報ボット開発を初めて使用する場合は、Shikimoribotリポジトリをフォークできます。
すぐにコードを提供します。
このAPIは、node.jsアプリケーションをサポートするクラウドプラットフォームに展開できます。一般的なオプションの1つはVercelです。これにより、構成がゼロでnode.jsアプリケーションを展開できます。
このAPIをvercelに展開するには、下のボタンをクリックします。
このプロジェクトは、Some-1hingによって作成されました。あなた自身のプロジェクトのためにこのコードを自由に使用して変更してください。このプロジェクトが役立つと思った場合は、GitHubで€するまってください。
このプロジェクトは、MITライセンスに基づいてライセンスされています。詳細については、ライセンスファイルを参照してください。
このAPIを使用することにより、次の用語に同意します。