如何使用BeautifulSoup提取标签外的多个文本?

时间:2018-02-05 13:21:00

标签: python-3.x text beautifulsoup extract

我想使用BeautifulSoup抓一个网页(德国投诉网站)。这是一个很好的例子(https://de.reclabox.com/beschwerde/44870-deutsche-bahn-berlin-erstattungsbetrag-sparpreisticket



<div id="comments" class="kt">
    <a name="comments"></a>
    <span class="bb">Kommentare und Trackbacks (7)</span>
    <br><br><br>
      <a id="comment100264" name="comment100264"></a>
      <div class="data">
        19.12.2011 | 11:04
      </div>
        von Tom K.
      <!--
      -->
          | <a class="flinko" href="/users/login?functionality_required=1">Regelverstoß melden</a>
      <div class="linea"></div>
          TEXT I AM INTEREST IN<br><br>MORE TEXT I AM INTEREST IN<br><br>MORETEXT I AM INTEREST IN
      
      <br><br>
      <a id="comment100265" name="comment100265"></a>
      <div class="data">
        19.12.2011 | 11:11
      </div>
        von Tom K.
      <!--
      -->
          | <a class="flinko" href="/users/login?functionality_required=1">Regelverstoß melden</a>
      <div class="linea"></div>
          TEXT I AM INTEREST IN<br><br>MORE TEXT I AM INTEREST IN
            
      <br><br>
      <a id="comment101223" name="comment101223"></a>
        <div class="commentbox comment-not-yet-solved">
      <div class="data">
        25.12.2011 | 10:14
      </div>
        von ReclaBoxler-4134668
      <!--
      --><img alt="noch nicht gelöste Beschwerde" src="https://a1.reclabox.com/assets/live_tracking/not_yet_solve-dbf4769c625b73b23618047471c72fa45bacfeb1cf9058655c4d75aecd6e0277.png" title="noch nicht gelöste Beschwerde">
          | <a class="flinko" href="/users/login?functionality_required=1">Regelverstoß melden</a>
      <div class="linea"></div>
          TEXT I AM NOT INTERESTED IN <br><br>TEXT I AM NOT INTERESTED IN 
      
      </div>
      <br><br>
      <a id="comment101237" name="comment101237"></a>
      <div class="data">
        25.12.2011 | 11:01
      </div>
        von ReclaBoxler-3315297
      <!--
      -->
          | <a class="flinko" href="/users/login?functionality_required=1">Regelverstoß melden</a>
      <div class="linea"></div>
          TEXT I AM INTERESTED IN 
      
      
      <br><br>

etc...     
      
      <br><br>
  <br><br>
</div>
&#13;
&#13;
&#13;

我能够抓取我想要的大部分内容(感谢我在这里读到的很多Q&amp; A :-))除了评论(<div id="comments" class="kt">)之外没有class ="commentbox"(我已经使用另一个命令获得了评论框)。评论框外的评论似乎不在正常标签中,这就是为什么我没有设法通过"soup.find(_all)"获取这些评论。我想抓取这些评论以及发布评论的人的信息(&#34; von&#34;)以及日期和时间(<div class="data">)。

如果有人知道如何解决这个问题,那将是非常棒的。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

从页面中提取所有文本的常见任务如下

from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
doc = """xxxxxxxx""" // url name
soup = BeautifulSoup(doc, "html.parser")
print(soup.get_text())