Парсинг табличных данных



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

Основные 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}')


Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: