为了账号安全,请及时绑定邮箱和手机立即绑定

使用BeautifulSoup提取包含字符串的表

使用BeautifulSoup提取包含字符串的表

繁花如伊 2021-03-19 18:15:04
我正在尝试使用BeautifulSoup解析一个网站,该网站包含表格内的表格等表格中的许多表格。具体来说,我正在浏览这种形式的网站。我想提取相关表,例如匹配统计数据,但似乎找不到提取相关表的方法,因为它们不包含诸如特定类之类的区别特征。有没有一种方法可以提取包含某些字符串的表?
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

只做类似的事情:

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

在我看来,所有基于统计的表格的宽度均为585px。尽管这可能会改变,但它似乎是一个不错的起点。

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


查看完整回答
反对 回复 2021-03-29
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

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


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

        print tag.findParent('table').findParent('table')

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


在找到包含相关字符串的元素后,.parent和.next_sibling方法对于您的案例来说也很有用,以导航至正确的元素。


查看完整回答
反对 回复 2021-03-29
  • 2 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信