Извлечение значений из таблицы HTML с использованием Beautifulsoup4 (2-й строки, 1-й и 6-й столбец)

Я новичок в Python и мне нужно руководство по извлечению значений из определенных ячеек из таблицы HTML.

URL, над которым я работаю, можно найти здесь

Я хочу получить первые 5 значений только в столбцах "Месяц" и "Расчет", а затем отобразить их как:

"MAR 14:426'6"

Проблема, с которой я сталкиваюсь:

  1. Как мне начать цикл с 3-го "ТР" в таблице?
  2. Как получить только значения для td[0] и td[6].
  3. Как ограничить цикл, чтобы получить значения только для 5 строк

Это код, над которым я работаю:

tableData = soup1.find("table", id="DailySettlementTable")
for rows in tableData.findAll('tr'):
    month = rows.find('td')
    print month

Спасибо и ценим любую форму руководства!

1 ответ

Решение

Вы, вероятно, хотите использовать нарезку.

Вот модифицированный фрагмент для вашего кода:

table = soup.find('table', id='DailySettlementTable')

# The slice notation below, [2:7], says to take the third (index 2)
# to the eighth (index 7) values from the rows we get.
for rows in table.find_all('tr')[2:7]:
    cells = rows.find_all('td')
    month = cells[0]
    settle = cells[6]

    print month.string + ':' + settle.string
Другие вопросы по тегам