이것은 이미지 URL을 제공하여 Google 리버스 이미지 검색을 수행 할 수있는 Node.js 및 Express.js를 사용하여 구축 된 간단한 API입니다. 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 Telegram Bot에서 쉽게 사용할 수 있습니다. 모듈 예제 코드는 여기에 있습니다. Telegram Bot Development를 처음 사용하는 경우 Shikimoribot 저장소를 포크 할 수 있습니다.
곧 코드를 제공하겠습니다.
이 API는 Node.js 응용 프로그램을 지원하는 클라우드 플랫폼에 배포 할 수 있습니다. 널리 사용되는 옵션 중 하나는 Vercel으로 구성되지 않은 구성으로 Node.js 응용 프로그램을 배포 할 수 있습니다.
이 API를 Vercel에 배포하려면 아래 버튼을 클릭하십시오.
이 프로젝트는 일부 1 hing에 의해 만들어졌습니다. 자신의 프로젝트를 위해이 코드를 자유롭게 사용하고 수정하십시오. 이 프로젝트가 도움이된다면 Github에 닐을주는 것이 좋습니다.
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
이 API를 사용하면 다음 용어에 동의합니다.