Pandas read_html не собирает все таблицы со страницы Википедии - PullRequest
0 голосов
/ 07 февраля 2019

Моя цель - написать парсер, который будет собирать ВСЕ данные таблицы с заданного URL-адреса википедии.Я пытался собрать все таблицы со страницы примера википедии, используя метод pandas.read_html.К сожалению, похоже, он не собирает все таблицы со страницы.Вот мой код:

inputurl = "https://en.wikipedia.org/wiki/France" dflist = pd.read_html(inputurl, attrs={"class": "wikitable"}) print("Number of parsed tables: ", len(dflist)) for parsedtable in dflist: print("Collected table:") print(parsedtable )

Проблема в том, что возвращается только 2 таблицы, хотя на этой странице более 4 таблиц.Как я могу улучшить код, чтобы собрать их все?Спасибо.

1 Ответ

0 голосов
/ 07 февраля 2019

Кажется, вам нужно удалить attrs:

inputurl = "https://en.wikipedia.org/wiki/France"
dflist = pd.read_html(inputurl)
print("Number of parsed tables: ", len(dflist))
Number of parsed tables:  40

После проверки html кода страницы есть 3 таблицы с class='wikitable', для третьей нужно указать оба класса:

inputurl = "https://en.wikipedia.org/wiki/France"
dflist = pd.read_html(inputurl, attrs={"class": ["wikitable","wikitable sortable"]})
print("Number of parsed tables: ", len(dflist))
Number of parsed tables:  3
...