2016-08-18 7 views

Odpowiedz

1

Nie próbowałbym skrobania, ponieważ najprawdopodobniej wiążą się z tym konsekwencje prawne, ale skorzystał z Google Custom Search API. Będziesz potrzebować klucza API oraz identyfikatora CX (jest to identyfikator niestandardowej wyszukiwarki ustawionej na koncie Google)

Gdy uzyskasz dostęp do interfejsu API i swojego identyfikatora CX, może przesyłać kwerendy do metody cse.list i uzyskać numer, którego szukasz w odpowiedzi pod numerem totalResults.

Podczas konfigurowania i dostosowywania własnej wyszukiwarki musisz zdefiniować witryny, które chcesz przeszukać. Na szczęście można dodać symbole wieloznaczne, takie jak * .com, * .net itp. Lub wykonaj instrukcje na tej stronie, aby przeszukać całą sieć: https://support.google.com/customsearch/answer/2631040?hl=en

Dołączyłem wszystkie linki potrzebne do poruszania się po to poniżej. Wypróbuj Eksplorator listy interfejsów po uzyskaniu identyfikatora CX. Otrzymasz dane odpowiedzi w czasie rzeczywistym, które możesz sprawdzić i bawić się.

Google Custom Search API

https://developers.google.com/custom-search/

Jest to metoda/końcowy będziemy chcieli użyć:

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

cse.list metoda Explorer:

https://developers.google.com/apis-explorer/#p/customsearch/v1/search.cse.list

Konfigurowanie i zarządzanie niestandardową wyszukiwarkę

https://cse.google.com/cse/manage/all

Uwaga: Wyniki mogą się różnić nieco w zależności jak masz swoją wyszukiwarka skonfigurowany. Mam zestaw testów do przeszukiwania całej sieci z naciskiem na domeny * .com i * .net i otrzymuję większą liczbę niż ta, którą Google pokazuje w "O wynikach N". Nie jestem pewien, czy potrzebujesz tej dokładnej liczby, ale opisują ją jako "Informacje", więc i tak nie może to być dokładny numer. Chodzi o to, że w CSE masz dużą kontrolę nad tym, jak to skonfigurować i powinieneś być w stanie bardzo blisko.

+0

This nie podaje rzeczywistej liczby wyników, ale bardzo ograniczony podzbiór. Zobacz tutaj: http://jsfiddle.net/gh/gist/library/pure/6130833/ – DhruvPathak

+0

Jakie domeny skonfigurowałeś w swojej wyszukiwarce za pomocą używanego identyfikatora cx? wygląda na to, że szuka tylko "developers.google.com". Musisz dodać domeny wieloznaczne, jak wspomniałem powyżej, aby rozszerzyć wyszukiwanie. –

+0

To jest przykład google, ale to, co mówię, to wiele domen wieloznacznych, to nadal brakowało dużej części sieci. – DhruvPathak

0

Zakładając, że to Twój niestandardowy interfejs API wyszukiwania, czy próbowałeś warunkowo usunąć właściwość totalResults z treści odpowiedzi JSON?

można osiągnąć wykonując test na parametr zapytania (powiedzmy q),

if(q.equals("your string")){ 
    var keyName = "totalResults"; 
    var resp = json_encode($response); 
    delete resp.queries.<APIkey>[keyName];  
} 

UWAGA: Struktura zlokalizować nazwa_klucza: totalResults został pochodzący z here

Powiązane problemy