Динамически пропускайте последние две строки при очистке html-таблицы: BS4 Python - PullRequest
0 голосов
/ 26 октября 2018

Я очищаю HTML-таблицу с платформы.После получения всех значений, которые я хочу пропустить последние две строки таблицы, каждая строка представляет собой отдельную таблицу.Может ли кто-нибудь помочь?

Я придерживаюсь этого подхода:

new_data = [[c.text.rstrip(" km²") for c in i.find_all('td')]  for i in soup.find_all('table')]

Пример HTML:

Table Спасибо

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Вы пытались ограничить цикл for с помощью диапазона?

for i in range(0, len(soup.find_all('table'))-2)
    foo [i]

В противном случае вы можете переместить все данные во временный список и затем удалить последние два из этого, а затем перебрать измененный вами цикл.временный список.

0 голосов
/ 26 октября 2018

Если вам не нужны последние две таблицы, вы можете просто пропустить их в своем понимании списка:

new_data = [[c.text.rstrip(" km²") for c in i.find_all('td')] for i in soup.find_all('table')[:-2]]

soup.find_all('table')[:-2] найдет все table теги в вашем soup объекте, за исключением финальных 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...