Pandas read_html不收集维基百科页面中的所有表格

问题描述 投票:2回答:1

我的目标是编写一个解析器,它将从给定的维基百科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个以上的表。如何改进代码以收集它们?谢谢。

python pandas parsing html-table wikipedia
1个回答
1
投票

看来你需要删除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
© www.soinside.com 2019 - 2024. All rights reserved.