developer tip

Google 이미지 검색에서 API를 더 이상 사용할 수 없다고 표시됨

copycodes 2020. 11. 4. 08:07
반응형

Google 이미지 검색에서 API를 더 이상 사용할 수 없다고 표시됨


Google 이미지 검색 API를 사용하고 있습니다. 어제까지 작동했지만 오늘 아침에 "이 API는 더 이상 사용할 수 없습니다"라고 표시됩니다.

공식적으로 닫혀 있나요, 아니면 내 쪽의 오류인가요

의뢰

https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=cute+kittens

응답

{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}

제가 찾은 답은 Google의 CSE (Custom Search Engine) API를 사용하는 것입니다. 이는 하루에 100 개의 무료 요청으로 제한됩니다.

cx이미지 검색을 위해 생성 및 수정

  1. https://cse.google.com/cse/create/new 에서 검색 기준에 따라 맞춤 검색 엔진을 만듭니다 .
  2. 검색 할 사이트 선택 (전체 웹을 검색하려면이 항목을 비워 두십시오. 그렇지 않으면 특정 사이트에서 검색 할 사이트를 입력 할 수 있습니다.)
  3. 검색 엔진의 이름과 언어를 입력하십시오.
  4. "만들기"를 클릭하십시오. 이제 cx브라우저 URL에서 찾을 수 있습니다 .
  5. "검색 엔진 수정"에서 "제어판"버튼을 클릭합니다. 당신은 ON / OFF 버튼이있는 "이미지 검색"라벨을 찾을 수있을 것이다 "편집"섹션에서로 변경 ON . 변경 사항을 저장하려면 "업데이트"를 클릭하십시오.

API로 검색 수행

API 엔드 포인트 URL은 https://www.googleapis.com/customsearch/v1

이 API에는 다음 JSON 매개 변수가 사용됩니다.

  • q: 검색 텍스트를 지정합니다.
  • num: 결과 수를 지정합니다. 1에서 10 (포함) 사이의 정수 값이 필요합니다.
  • start: 검색이 시작되어야하는 결과의 "오프셋"입니다. 1에서 101 사이의 정수 값이 필요합니다.
  • imgSize: 이미지의 크기. 나는 사용했다"medium"
  • searchType:로 설정해야합니다. "image"
  • filetype: 이미지의 파일 유형을 지정합니다. 저는` "jpg"를 사용했지만 파일 확장자가 중요하지 않다면 생략 할 수 있습니다.
  • key: https://console.developers.google.com/ 에서 얻은 API 키
  • cx: 이전 섹션의 맞춤 검색 엔진 ID

GET위의 매개 변수를 JSON으로 API 엔드 포인트 (위에 나열 됨)에 전달 하여 간단히 요청하십시오.

참고 : 검색 엔진 설정에서 리퍼러 목록을 설정 한 경우 브라우저를 통해 URL을 방문하면 작동하지 않을 수 있습니다. 이 목록에 지정된 서버에서 AJAX 호출 (또는 다른 언어에서 해당)을 수행해야합니다. 구성 설정에 지정된 참조 자에 대해서만 작동합니다.

참조 : https://developers.google.com/custom-search/json-api/v1/reference/cse/list


이제 Custom image search API로 이미지를 검색 할 수 있습니다.

이 작업은 두 단계로 수행 할 수 있습니다.

1) CUSTOM_SEARCH_ID 받기

이동-https: //cse.google.ru/cse/all

여기에서 새 검색 엔진을 만들어야합니다. 이를 수행하고 거기에서 이미지 검색을 활성화하십시오.

화면 (러시아어 ... 죄송합니다)

이미지 검색 활성화

그런 다음이 검색 엔진 ID를 가져옵니다. 이렇게하려면 코드 받기 버튼을 누릅니다.

코드 받기 버튼

그리고 cx = "여기에 귀하의 CUSTOM_SEARCH_ID가 있습니다"라는 줄을 찾습니다.

CSE ID 받기

확인. 이제 두 번째 단계입니다.

2) SERVER_KEY 가져 오기

Google 콘솔로 이동-https: //console.developers.google.com/project

Google API 콘솔

프로젝트 생성 버튼을 누르고 이름과 기타 필요한 정보를 입력합니다. 이 프로젝트를 선택하고 Enable Apis 프로젝트 대시 보드Now 로 이동하여 Custom Search Engine을 찾습니다.

맞춤 SE 찾기 그리고 그것을 활성화하십시오.

사용자 지정 검색 활성화

이제 자격 증명으로 이동하여 새 서버 키를 만들어야합니다.

서버 키 생성

확인. 이제 이미지 검색을 사용할 수 있습니다.

질문:

https://www.googleapis.com/customsearch/v1?key=SERVER_KEY&cx=CUSTOM_SEARCH_ID&q=flower&searchType=image&fileType=jpg&imgSize=xlarge&alt=json

Replace the SERVER_KEY and CUSTOM_SEARCH_ID and call this request.

Limit: for free you can search only 100 images per day. Thanks for attention.


If this is just for your own purposes (not for production) and you're not planning to abuse Google Image Search, you can simply extract first image URL from Google search results using JSOUP.

For example: Code to retrieve image URL of the first thumbnail:

public static String FindImage(String question, String ua) {
            String finRes = "";

    try {
            String googleUrl = "https://www.google.com/search?tbm=isch&q=" + question.replace(",", "");
            Document doc1 = Jsoup.connect(googleUrl).userAgent(ua).timeout(10 * 1000).get();
            Element media = doc1.select("[data-src]").first();
            String finUrl = media.attr("abs:data-src"); 

            finRes= "<a href=\"http://images.google.com/search?tbm=isch&q=" + question + "\"><img src=\"" + finUrl.replace("&quot", "") + "\" border=1/></a>";

        } catch (Exception e) {
            System.out.println(e);
        }

        return finRes;
    }

Guide:

question - image search term

ua - user agent of the browser


Change the API url to Google Custom Image search

Provide the same parameters along with with API KEY and CX.

More Info and Explorer


This is the full URL template to be used

We can eliminate unnecessary parameters.

https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&cref={cref?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json

I am using

https://www.googleapis.com/customsearch/v1?key=ap_key&cx=cx&q=hello&searchType=image&imgSize=xlarge&alt=json&num=10&start=1


The Yahoo Boss API is a reasonable substitute, although it's not free and the results are not quite as good.

UPDATE: YAHOO BOSS JSON Search API will discontinue on March 31, 2016


SerpAPI enables to search through Google Images and returns a clean json. it integrates with most of the programming languages: python, php, java, golang, nodejs...

https://serpapi.com/images-results

Google limit the number of search per day. but this service provides unlimited searches...


looks like we need to implement google custom search API https://developers.google.com/custom-search/ says so on top of the page you provided yourself

참고 URL : https://stackoverflow.com/questions/34035422/google-image-search-says-api-no-longer-available

반응형