Python BeautifulSoup-从标记中获取所有子项,而不是第一个
我正在创建一个从网站收集数据的脚本。然而,我得到一些问题,只收集具体的信息。导致我出现问题的HTML部分如下所示:Python BeautifulSoup-从标记中获取所有子项,而不是第一个,python,web-scraping,beautifulsoup,blockquote,Python,Web Scraping,Beautifulsoup,Blockquote,我正在创建一个从网站收集数据的脚本。然而,我得到一些问题,只收集具体的信息。导致我出现问题的HTML部分如下所示: <div class="Content"> <article> <blockquote class="messageText 1234"> I WANT THIS <br/> I WANT THIS 2 <br/>
<div class="Content">
<article>
<blockquote class="messageText 1234">
I WANT THIS
<br/>
I WANT THIS 2
<br/>
</a>
<br/>
</blockquote>
</article>
</div>
<div class="Content">
<article>
<blockquote class="messageText 1234">
<a class="IDENTIFIER" href="WEBSITE">
</a>
NO WANT THIS
<br/>
<br/>
NO WANT THIS
<br/>
<br/>
NO WANT THIS
<div class="messageTextEndMarker">
</div>
</blockquote>
</article>
</div>
我对代码的想法是仅从第一个块引号
元素中提取部分,但是,我从块引号
中获取所有文本:
I WANT THIS
NO WANT THIS
NO WANT THIS
NO WANT THIS
如何实现这一点?为什么不使用select\u one来隔离第一个块,然后使用剥离的\u字符串来分离文本字符串
from bs4 import BeautifulSoup as bs
html = ''' your html'''
soup = bs(html, 'lxml')
print([s for s in soup.select_one('.Content .messageText').stripped_strings])
为什么不使用select_one来隔离第一个块,然后使用剥离的_字符串来分离文本字符串
from bs4 import BeautifulSoup as bs
html = ''' your html'''
soup = bs(html, 'lxml')
print([s for s in soup.select_one('.Content .messageText').stripped_strings])