【问题标题】:Extracting text :after an element with Beautiful Soup提取文本:在一个带有 Beautiful Soup 的元素之后
【发布时间】:2019-07-10 22:23:34
【问题描述】:

我想提取文本:after <strong> 元素。

 <li data-toggle="tooltip" title="" data-original-title=""><strong>06:25</strong> &nbsp;vP</li>

我尝试了以下方法

 medmar_live_departures_table = list(soup.select('li.tratta'))
 for li in medmar_live_departures_table:     
    info = li.text

但我收到了两个文本。我可以使用 re 来拆分字符串,但我想知道是否有更有效和更直接的方法。

Output
16:40  vP

Desired output
vP

【问题讨论】:

  • 没有next_li,也没有类名"tratta"li。更新您的问题
  • 我已经修好了。我的代码显然更复杂,但想让问题更容易理解。

标签: python web-scraping beautifulsoup html-parsing


【解决方案1】:

您可以获取每个li的最后一个文本子节点如下:

medmar_live_departures_table = soup.select('li.tratta')
for li in medmar_live_departures_table :      
    info = [text for text in li.stripped_strings][-1]
    print(info)

【讨论】:

    猜你喜欢
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    相关资源
    最近更新 更多