美丽的汤找到特殊div的孩子

时间:2012-11-02 19:49:20

标签: python parsing beautifulsoup

我正在尝试使用Python->美丽的汤解析一个看起来像这样的网页:enter image description here

我正在尝试提取突出显示的td div的内容。目前我可以通过

获得所有div
alltd = soup.findAll('td')


for td in alltd:
    print td

但是我试图缩小范围来搜索“tablebox”类中的tds,它仍然可能会返回30+但是更容易管理数字而不是300 +。

如何提取上图中突出显示的td的内容?

1 个答案:

答案 0 :(得分:52)

知道BeautifulSoup在一个元素中找到的任何元素仍然具有与该父元素相同的类型 - 也就是说,可以调用各种方法,这很有用。

所以这对你的例子来说有点代码:

soup = BeautifulSoup(html)
divTag = soup.find_all("div", {"class": "tablebox"}):

for tag in divTag:
    tdTags = tag.find_all("td", {"class": "align-right"})
    for tag in tdTags:
        print tag.text

这将打印所有td标签的所有文本,其中“align-right”类的父div具有“tablebox”类。