0

Я буду использовать python. Мой план состоит в том, чтобы сделать программу, которая ищет кучу вещей, и видит, сколько результатов поиска Google имеет для нее. Но я могу только выяснить, как получить специальную поисковую систему для работы.Поиск по всем Google с помощью API Google Python

В python, как использовать Google API для простого поиска с помощью основной поисковой системы Google? Насколько я понимаю, ответ на этот вопрос изменился за последние несколько лет, поскольку Google сделал толчок движку Google.

+2

Возможный дубликат [Как вы используете API Google для простого поиска в Python?] (Http://stackoverflow.com/questions/20485141/how-do-you-use-googles-api-to -do-a-simple-search-in-python) –

+0

Многие старые ответы, похоже, не работают. – Isaac

ответ

1

Недавно я также искал API поиска Google и был введен в заблуждение много устаревшей информации. Вот что я нашел на сайте Google Developers: https://developers.google.com/api-client-library/python/apis/customsearch/v1

Согласно документации ваша функция будет что-то вроде

from googleapiclient.discovery import build 


def google_results_count(query): 
    service = build("customsearch", "v1", 
        developerKey="[put your API key here]") 

    result = service.cse().list(
      q=query, 
      cx='[put your CSE key here'] 
     ).execute() 

    return result["searchInformation"]["totalResults"] 

print google_results_count('Python is awesome') 

К сожалению, с помощью CSE API даст вам различное количество результатов от одного вы получаете с помощью веб поиск. В приведенном выше примере я получил 2 680 000 в Python и ок. 21 000 000 для того же запроса на Google.com Вот почему: https://support.google.com/customsearch/answer/70392?hl=en

Получение ключей API и CSE и всех ограничений CSE - это совсем другая история, я настоятельно рекомендую вам посмотреть на этот ответ: https://stackoverflow.com/a/11206266/1704272 и следующий ниже для альтернатив.

Другой подход заключается в анализе ответа HTML от Google.com, который даст вам самые полные результаты, но он не очень надежный, поскольку Google изменяет разметку HTML. И что более важно, это противоречит их TOS, более подробно здесь: Is it ok to scrape data from Google results?

Мое заключение. У вас есть три возможности:

  1. Используйте API CSE Google (бесплатно). Используйте это, если вам нужно оставаться законным, и вы уверены, что не превысите лимит. Не может использоваться в общедоступном приложении.
  2. Используйте платный API (Google или любой другой, менее дорогой). Это законно использовать это для любого публичного приложения, но быть готовым заплатить за это.
  3. Очистить веб-страницу Google. Это даст вам наилучшие результаты, но я бы использовал этот вариант только для частных нужд.