【问题标题】:Beautiful Soup find children for particular divBeautiful Soup 为特定的 div 找到孩子
【发布时间】:2012-10-23 12:24:12
【问题描述】:

我正在尝试使用 Python->Beautiful Soup:

解析一个看起来像这样的网页

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

alltd = soup.findAll('td')

   
for td in alltd:
    print td

但我试图缩小范围以搜索“tablebox”类中的 tds,它仍然可能返回 30+,但比 300+ 更易于管理。

如何提取上图中高亮的td内容?

【问题讨论】:

    标签: python parsing beautifulsoup


    【解决方案1】:

    知道 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”。

    【讨论】:

    • 在父循环中,标签是'div'元素而不是汤元素,所以我认为它会出错,不是吗?在“div”元素中,它没有名为“find_all”的方法
    猜你喜欢
    • 2019-11-23
    • 1970-01-01
    • 2020-08-08
    • 2016-10-07
    • 2017-05-31
    • 2013-07-15
    相关资源
    最近更新 更多