【问题标题】:how to extract text within font tag using beautifulsoup如何使用beautifulsoup提取字体标签中的文本
【发布时间】:2012-04-08 21:27:41
【问题描述】:

我正在用 beautifulsoup 制作我的第一个程序,我的 html 文件有这样的代码 sn-p

......
......
......

<font face="verdana" size="3">5 n i D 1 C</font>
......
......

我想从&lt;font&gt; 标记中提取5 n i D 1 C。我在做

ele=soup('font', face="verdana",size="3") 然后

ele.Contents()

但我收到一个错误AttributeError: 'ResultSet' object has no attribute 'font' 当我这样做时

 print ele

输出是

[<font face="verdana" size="3">5 n i D 1 C</font>]

这意味着它正在正确搜索,请帮助我如何提取给定的文本。

谢谢

【问题讨论】:

    标签: python screen-scraping web-scraping beautifulsoup


    【解决方案1】:
    ele[0].contents[0]
    u'5 n i D 1 C'
    

    【讨论】:

    • 1. ele=soup('font', face="verdana",size="3"),这里ele的类型是一个ResultSet,看起来像一个列表。因此,要获得第一个字体元素,您必须获得 ResultSet 中的第一项,即ele[0]。 2. ele[0].contents 是一个字符串列表。因此,要获得第一个字符串,您需要再次访问第 0 个项目。
    • 另外,如何将5niD1C 存储在变量中?
    • my_var = ele[0].contents[0]
    • 但这也用 my_var 存储换行符和制表符,如何删除它们?
    【解决方案2】:

    尝试做

    ele[0].Contents()
    

    而不是

    ele.Contents()
    

    ele 是一个 ResultSet 而不是第一个结果,可能需要检查文档以获取仅返回第一个结果的内容。我对 BeautifulSoup 不熟悉

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      相关资源
      最近更新 更多