Использование Python для поиска в Google

Введение

В этом сообщении блога мы расскажем, как найти интересующие вас новости или статьи в Google с помощью GoogleNews и газетных библиотек. Указав ключевые слова, вы можете заставить Python очистить весь соответствующий контент, который вы обычно находите при выполнении ручного поиска. Поиск будет красиво упакован в файл блокнота.

В качестве примера мы будем получать статьи, новостные статьи, связанные с S&P500 и фондовым рынком в целом. По сути, нас интересует, как вел себя фондовый рынок в указанный период (поскольку наша функция будет иметь период времени в качестве параметра).

Библиотеки

Давайте рассмотрим библиотеки, которые мы будем использовать для достижения нашей цели:

  • Новости Google: позволяет получить доступ к данным Новостей Google.
  • Article: класс из библиотеки newspaper для разбора новостных статей.
  • requests:библиотека для создания HTTP-запросов.
  • nltk:библиотека Natural Language Toolkit для задач обработки естественного языка.
  • UserAgent:класс из библиотеки fake_useragent для создания случайных пользовательских агентов для отправки запросов.

Используя случайный UserAgent для каждого запроса, сценарий может больше походить на обычного пользователя, просматривающего Интернет, что позволяет избежать срабатывания любых механизмов защиты от очистки, которые могут быть на веб-сайтах.

Для этого конкретного проекта мы будем использовать определенные версии вышеупомянутых библиотек:

!pip install GoogleNews==1.6.6
!pip install newspaper3k==0.2.8
!pip install requests==2.28.1
!pip install fake_useragent==1.1.1
!pip install nltk==3.8.1

from GoogleNews import GoogleNews
from newspaper import Article
import requests
import nltk
from fake_useragent import UserAgent

Допустим, мы хотели бы получить представление о направлении фондового рынка США или о текущем отношении к нему. Обычно заместителем для этого является индекс S&P500, который содержит наиболее капитализированные акции в США, поэтому в этом случае мы попытаемся перечислить все ключевые слова, связанные с этим индексом. Возможно, это неполный список, поэтому не стесняйтесь…