【问题标题】:extracting information from an element of html file从html文件的元素中提取信息
【发布时间】:2014-09-09 13:20:03
【问题描述】:

我想从以下字符串中提取 402。我用的是漂亮的汤。

<span class="bla bla bla"> <span class="ba1 ba1">  </span>402.00</span>

我尝试使用 strip(),但元素 bs4.element.resultset 不允许这样做。

请建议我该怎么做??

任何指针将不胜感激

【问题讨论】:

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


    【解决方案1】:

    找到内部跨度并获取next_sibling

    soup.find('span', class_='bla').find('span', class_='ba1').next_sibling
    

    演示:

    >>> from bs4 import BeautifulSoup
    >>> data = '<span class="bla bla bla"> <span class="ba1 ba1">  </span>402.00</span>'
    >>> soup = BeautifulSoup(data)
    >>> soup.find('span', class_='bla').find('span', class_='ba1').next_sibling
    u'402.00'
    

    【讨论】:

    • 对于元素汤我得到一个错误---AttributeError:'NoneType'对象没有属性'find'。
    • @ayushbiyani 好吧,您已经提供了 HTML 代码,我提供的解决方案适用于它。提供您正在解析的真实 HTML(相关部分包括 span 标签和所需数据)。谢谢。
    • @ayush biyani,也许你使用的 BeautifulSoup 以前的版本不能轻易处理 'class' 属性,请参阅stackoverflow.com/questions/5041008/…
    • 顺便说一句,您可以使用 soup.find('span', class_='bla').getText() 获得更快的结果
    • @sebdelsol 关于BeautifulSoup 的版本真的很好。我敢打赌就是这样。
    猜你喜欢
    • 2017-04-27
    • 1970-01-01
    • 2018-05-17
    • 2012-07-04
    • 2021-06-21
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多