代码之家  ›  专栏  ›  技术社区  ›  Ninja2k

当没有下一个兄弟姐妹时,如何以文本为目标?

  •  0
  • Ninja2k  · 技术社区  · 6 年前

    我试图用漂亮的汤刮取动态生成的页面,有时我会得到松散的文本和一些我没有的东西。

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

    <div class="div1">
    
    <table class="table1"></table>
    <ul></ul>
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
    
    </div>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   The fourth bird    6 年前

    您可以做的是将CSS选择器与 select div.div1 ul 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())