هذه واجهة برمجة تطبيقات بسيطة تم تصميمها باستخدام Node.js و Express.js والتي تتيح لك إجراء البحث عن الصور العكسي من Google عن طريق توفير عنوان URL للصورة. يستخدم API Cheerio لإلغاء HTML لمحرك البحث عن صور Google للحصول على نص النتيجة وعنوان URL المماثل للصور.
يتم استضافة API حاليًا على Vercel. يمكنك الوصول إليه باستخدام هذا الرابط.
لاستخدام واجهة برمجة التطبيقات ، تحتاج إلى تقديم طلب منشور إلى نقطة النهاية /reverse
مع حمولة JSON التي تحتوي على عنوان URL للصورة. إليك مثال باستخدام 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 بكائن JSON الذي يحتوي على عنوان ورابط الصورة المتطابقة العليا من Google Search ، إذا كان البحث ناجحًا. إليك استجابة مثال:
{
"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 ، يمكنك استخدام مكتبة 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 ، يمكنك استخدام وظيفة 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 ) ) ;
يمكن استخدام واجهة برمجة التطبيقات هذه بسهولة في روبوت Python Telegram. رمز مثال الوحدة موجود هنا. يمكنك شوكة مستودع Shikimoribot إذا كنت جديدًا في تطوير Telegram Bot.
سأقدم الرمز قريبًا.
يمكن نشر واجهة برمجة التطبيقات هذه في أي منصة سحابة تدعم تطبيقات Node.js. أحد الخيارات الشائعة هو Vercel ، والتي تتيح لك نشر تطبيقات Node.js مع تكوين صفر.
لنشر API إلى Vercel ، انقر فوق الزر أدناه:
تم إنشاء هذا المشروع من خلال بعضها. لا تتردد في استخدام وتعديل هذا الرمز لمشاريعك الخاصة. إذا وجدت هذا المشروع مفيدًا ، فيرجى التفكير في إعطائه على Github.
تم ترخيص هذا المشروع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا - راجع ملف الترخيص للحصول على التفاصيل.
باستخدام واجهة برمجة التطبيقات هذه ، فإنك توافق على الشروط التالية: