【问题标题】:How can I target text when there is no next sibling?当没有下一个兄弟姐妹时,如何定位文本?
【发布时间】:2018-07-06 18:51:08
【问题描述】:

我正在尝试使用 BeautifulSoup 抓取动态生成的页面,有时我会得到松散的文本和一些我没有的东西。

如何提取下面的松散文本,我尝试使用下一个兄弟,但文本不包含在任何标签中。

<div class="div1">

<table class="table1"></table>
<ul></ul>

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt

</div>

【问题讨论】:

    标签: web-scraping beautifulsoup


    【解决方案1】:

    您可以做的是使用带有select div.div1 ul 的css 选择器并匹配next_sibling

    html_doc = """
    <div class="div1">
    
    <table class="table1"></table>
    <ul></ul>
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
    
    </div>
    """
    
    from bs4 import BeautifulSoup
    result_page = BeautifulSoup(html_doc, 'html.parser')
    
    for text in result_page.select("div.div1 ul"):
        print(text.next_sibling.strip())
    

    【讨论】:

      猜你喜欢
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多