Парсер
Как извлечь данные с веб-сайта с помощью BeautifulSoup
Table Of Content
Извлечение данных - это обычная задача при работе с парсингом веб-страниц. BeautifulSoup - это библиотека для разбора HTML, которая упрощает извлечение данных с веб-сайта, просматривая его исходный код. В этом руководстве мы узнаем, как извлечь данные из
Существуют два основных способа извлечения данных с веб-сайта:
- Использование API (если доступно) для получения данных.
- Получение доступа к HTML-коду веб-страницы и извлечение полезной информации/данных из него.
В этой статье мы извлечем Топ-100 песен года 1970 года из журнала Billboard из списка Billboard Year-End Hot 100 singles of 1970.
Задача:
- Выполнить парсинг веб-страницы и извлечь все 100 песен с их исполнителями.
- Создать словарь на языке Python, который содержит название сингла в качестве ключа и список исполнителей в качестве значения.
Установка Нам нужно установить requests и bs4. Модуль requests позволяет отправлять HTTP-запросы с использованием Python. Beautiful Soup (bs4) - это библиотека Python для извлечения данных из HTML и XML файлов.
pip install requests
pip install bs4
Импорт библиотек
import requests
from bs4 import BeautifulSoup
Отправка запроса
url = "https://en.wikipedia.org/wiki/Billboard_Year-End_Hot_100_singles_of_1970"
response = requests.get(url)
print(response.url) # печать URL
response # статус ответаsongSoup = BeautifulSoup(response.text) # Объект BeautifulSoupdata_dictionary = {}for song in songSoup.findAll('tr')[1:101]: # цикл по индексу от 1 до 101, потому что findAll('tr') содержит заголовки таблицы
# Печать 100 строк таблицы.............
# print(song) title = song.findAll('a')[0].string artist = song.findAll('a')[1].string
# Печать названий и исполнителей.............
print(title, ',', artist) # Печать словаря.............
data_dictionary[title] = [artist]
print(data_dictionary)