Как получать ежедневные новости с помощью 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 можно достать необходимую информацию.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.