我正在尝试使用 BeautifulSoup 解析一个网站,该网站包含表中表中的许多表等。具体来说,我正在查看这种形式的网站。我想提取相关表格,例如匹配统计数据,但似乎找不到提取相关表格的方法,因为它们不包含特定类等显着特征。
有没有办法提取包含某些字符串的表?
我正在尝试使用 BeautifulSoup 解析一个网站,该网站包含表中表中的许多表等。具体来说,我正在查看这种形式的网站。我想提取相关表格,例如匹配统计数据,但似乎找不到提取相关表格的方法,因为它们不包含特定类等显着特征。
有没有办法提取包含某些字符串的表?
您可以提取包含字符串的表,例如:
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
只做类似的事情怎么样:
soup.findAll("table", {"width": "585"})
在我看来,所有基于统计的表格的宽度都是 585 像素。虽然这可能会改变,但它似乎是一个不错的起点。
据我所知,没有办法搜索包含字符串的元素。但是,没有什么可以阻止您使用findAll('table')
然后迭代每个表来查找您的字符串。找到后,处理该表。