猿问

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

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

有没有一种方法可以提取包含某些字符串的表?


繁花如伊
浏览 175回答 2
2回答

白衣非少年

只做类似的事情:soup.findAll("table", {"width": "585"})在我看来,所有基于统计的表格的宽度均为585px。尽管这可能会改变,但它似乎是一个不错的起点。据我所知,没有一种方法可以搜索包含字符串的元素。但是,没有什么可以阻止您使用findAll('table')然后迭代每个表来查找您的字符串的。找到它后,处理表。

慕无忌1623718

您可以提取包含字符串的表,例如: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方法对于您的案例来说也很有用,以导航至正确的元素。
随时随地看视频慕课网APP

相关分类

Python
我要回答