Python Bs4:如何根据该行的特定“ td”值检索表中的行

时间:2019-05-13 22:16:41

标签: python web-scraping html-table beautifulsoup

如果我的网站页面上有多个表,并且我想根据beautifulsoup4中的关键字从特定表中检索特定行的源代码,该如何使用days_of_week(task_id, day_of_week)个方法(或与此相关的任何其他方法) enter image description here

使用上表,假设我要检索包含关键字“ ROW 1”(或“ A”,“ B”,“ C”等)的行,仅排,我该怎么办?

2 个答案:

答案 0 :(得分:0)

使用pandas抓取整个html,然后执行以下操作(此代码未经测试)

import pandas as pd

html_table = 'From your web scrapping'
df = pd.read_html(io=html_table)
df.loc[1]  # Will give you all the information for the first row

我建议花10分钟学习熊猫,这将对您有帮助。 https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html

答案 1 :(得分:0)

以下为人为设计的示例,但使用bs4 4.7.1时,您可以使用:has:contains的伪类css选择器来指定具有< / strong> tr(表格单元格),其中包含 “想要的短语” 。还传递了一个表标识符以指向正确的表(此处为简单起见,使用id)。 td将返回所有符合条件的tr元素;如果只需要第一个匹配项,则使用select

select_one

py

soup.select('#example tr:has(> td:contains("Row 1"))')