Как получать ежедневные новости с помощью Python

Как получать ежедневные новости с помощью Python

Как получать ежедневные новости с помощью Python

В этой статье мы рассмотрим, как получать ежедневные новости с помощью Python. Здесь мы будем использовать Beautiful Soup и модуль requests для получения данных.

Необходимые модули

Beautiful Soup(bs4) — это библиотека Python для извлечения данных из HTML- и XML-файлов. Этот модуль не встроен в Python. Чтобы установить его, введите приведенную ниже команду в терминале.


pip install bs4

Requests позволяет чрезвычайно легко отправлять запросы. Этот модуль также не встроен в Python. Чтобы установить его, введите приведенную ниже команду в терминале.


pip install requests

Поэтапная Реализация:

Шаг 1: Прежде всего, убедитесь, что вы импортировали эти библиотеки.


import requests
from bs4 import BeautifulSoup

Шаг 2: Затем, чтобы получить HTML-содержимое https://www.bbc.com/news , добавьте эти 2 строки кода:

url='https://www.bbc.com/news'
response = requests.get(url)

Шаг 3: Получите конкретный HTML-тег

Чтобы найти HTML-теги, в которых содержатся заголовки новостей, перейдите на https://www.bbc.com/news и проверьте заголовок новости, щелкнув его правой кнопкой мыши и нажав inspect,
или там же проверим исходный код страницы. Далее нажимаем Ctrl+F, и вставляем один из нужных элементов. Смотрим в каком теге он содержится.

Вы увидите, что все заголовки содержатся в тегах h3. Поэтому, чтобы получить все теги h3 на этой веб-странице, добавьте эти строки кода в свой скрипт:


soup = BeautifulSoup(response.text, 'html.parser')
headlines = soup.find('body').find_all('h3')
for x in headlines:
  print(x.text.strip())

Во-первых, мы определяем soup как HTML-содержимое веб-страницы новостей Би-би-си. Далее мы определяем заголовки как массив всех тегов h3, найденных на веб-странице. Наконец, скрипт просматривает массив заголовки и отображает все его содержимое один за другим, избавляя каждый элемент от внешнего HTML и отображая только его текстовое содержимое с помощью метода text.strip().

Таким образом, имея представления об HTML структуре сайта, с Python и библиотекой bs4 можно достать необходимую информацию.

Источник