2

我正在尝试使用 BeautifulSoup 解析一个网站,该网站包含表中表中的许多表等。具体来说,我正在查看这种形式的网站。我想提取相关表格,例如匹配统计数据,但似乎找不到提取相关表格的方法,因为它们不包含特定类等显着特征。

有没有办法提取包含某些字符串的表?

4

2 回答 2

4

您可以提取包含字符串的表,例如:

for tag in soup.find_all(text=re.compile('Sydney Match Statistics')):
        print tag.findParent('table').findParent('table')

这会找到包含文本“Sydney Match Statistics”的元素,然后找到table包含它的元素,然后找到另一个table包含它的元素。

在找到包含相关字符串的元素后,and 方法似乎对您的案例导航到正确的元素也很有用.parent.next_sibling

于 2013-06-02T06:12:29.240 回答
0

只做类似的事情怎么样:

soup.findAll("table", {"width": "585"})

在我看来,所有基于统计的表格的宽度都是 585 像素。虽然这可能会改变,但它似乎是一个不错的起点。

据我所知,没有办法搜索包含字符串的元素。但是,没有什么可以阻止您使用findAll('table')然后迭代每个表来查找您的字符串。找到后,处理该表。

于 2013-06-02T05:43:15.443 回答