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