尝试从以下位置提取消息文本:<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 关注
- 185 浏览
添加回答
举报
0/150
提交
取消