使用beautifulsoup从多体html表中提取单元格值

时间:2017-07-21 09:48:44

标签: python html web-scraping beautifulsoup python-requests

我的HTML中有多个tables。然后在必需的表中有多个tbody。但是,我可以使用

选择特定的表和tbody
tables = soup.findAll("table", {"class": "annotation"}).findAll("tbody",{"class":"annotation"})

但是,之后我无法得到tr& td身体中存在的信息。因为如果我打印上面的行的结果它给出了

<tbody class="annotation"></tbody>

当我尝试rows = tables.find_all('tr')时,它返回null。

整个HTML非常大,很难在此插入,所以我添加了一个图像,我想提取我的光标在给定图像中的值

HTML

1 个答案:

答案 0 :(得分:1)

你能提供这个链接吗?

还要记住,你需要在元素方面做到这一点。 find返回单个元素。 findAll返回一个列表,即使该列表只包含一个项目。

所以我的猜测是:

tables = soup.find("table", {"class": "annotation"}).find_all("tbody",{"class":"annotation"})[0]
rows = tables.findAll("tr")

哦,我注意到你是这个thread的人。我试图在该线程中抓取网页,它需要执行JavaScript。 所以我的建议是使用其他线程中的代码与此结合使用。让我知道发生在你身上的事情,这样我们就可以提起更多。