В общих чертах парсинг табличных данных не отличается от парсинга других данных с интернет-страниц. Основное отличие – данные лежат в таблице, поэтому будут использоваться другой принцип для навигации.
Основные HTML-теги для создания таблиц
Первоначально необходимо разобраться, как устроены таблицы в HTML, это облегчит дальнейшую работу. Используются теги:
<table></table> — служит основным тегом контейнеров для ячеек таблицы, любая таблица начинается с этого тега;
<td></td> — (table data) создает ячейку, в которой могут хранится любые данные;
<th></th> — (table header) создает ячейку-заголовок для столбца в таблице;
<tr></tr> — (table row) создает строку в таблице, любая таблица должна иметь хотя бы 1 строку.
Пример кода для сбора информации с таблицы:
import requests from bs4 import BeautifulSoup url = 'https://mob25.com response = requests.get(url) response.encoding = 'utf-8' soup = BeautifulSoup(response.text, 'html.parser') # Ищем первую таблицу на странице table = soup.find('table') # Извлекаем все строки таблицы rows = table.find_all('tr') # Проходим по строкам таблицы, начиная со второй (индекс 1), так как первая строка - это заголовки for row in rows[1:]: # Извлекаем ячейки текущей строки columns = row.find_all('td') # Первая ячейка содержит имя name = columns[0].text # Вторая ячейка содержит возраст age = columns[1].text # Выводим результат print(f'Имя: {name}, Возраст: {age}')