嘗試從以下位置提取消息文本:<div class="Item ItemDiscussion Role_Member" id="Discussion_2318"><div class="Discussion"><div class="Item-BodyWrap"><div class="Item-Body"><div class="Message"> Hello<br/>I have a very interesting observation on nature of birds in Alaska ... <br/> Was there 10/19/18 has anyone heard of this </div><div class="ReactionRecord"></div><div class="Reactions"></div> </div></div></div></div>我已經得到了這一點:tag = soup.find('div', {'class' : 'ItemDiscussion'})接下來我試圖繼續:s = str((tag.contents)[1])sp = BeautifulSoup(s)sp.contents但這并沒有多大幫助。如何從中獲取消息文本<div class="Message">?
2 回答

慕妹3242003
TA貢獻1824條經驗 獲得超6個贊
您可以直接從湯中找到該元素。
discussion_div = soup.find("div", {"class": "ItemDiscussion"}) message_text = discussion_div.find("div", {"class": "Message"}).text

四季花海
TA貢獻1811條經驗 獲得超5個贊
您可以通過在元素中輸入CSS 選擇器來使用select_one()函數選擇任何元素。select_one() 函數只會返回一個元素,如果您想要多個元素,那么您可以使用 select() 它將返回找到的元素列表。這是給你的例子,
soup = BeautifulSoup(html, "html.parser") print soup.select_one("div.Item div.Discussion div.Item-BodyWrap div.Item-Body div.Message").text
如果元素是唯一的,您還可以使用單個類來選擇元素。
print soup.select_one("div.Message").text
- 2 回答
- 0 關注
- 231 瀏覽
添加回答
舉報
0/150
提交
取消