使用BeautifulSoup检测文本的存在

问题描述

我尝试检查某些页面上是否存在文本(如果您发送的文本超前,则该文本将出现在此区域中,否则将为空白)。

html= urlopen(single_link)
parsed= BeautifulSoup.BeautifulSoup(html,'html.parser')

lastmessages = parsed.find('div',attrs={'id':'message-box'})
if lastmessages :
    print('Already Reached')
else:
     print('you can write your message')
<div class="lastMessage">
    <div class="mine messages">
        <div class="message last" id="msg-snd-1601248710299" dir="auto">
            Hello,and how are you ?
        </div>
        <div style="clear : both ;"></div>
        <div class="msg-status" id="msg-status-1601248710299" dir="rtl">
            <div class="send-state">
                Last message : &nbsp;
                <span class="r2">before 7:35 </span>
            </div>
            <div class="read-state">
                <span style="color : gray ;">&nbsp;–&nbsp;</span>
                Reading :
                &nbsp;
                <span class="r2">Not yet</span>
            </div>
        </div>
        <div style="clear : both ;"></div>
    </div>
</div>

我的问题是我不知道如何查找文本“你好,你好吗?”。是否存在???

解决方法

简单的解决方案

import bs4 

parsed= bs4.BeautifulSoup(html,'html.parser')
lastmessages = parsed.find('div',class_='message last')
if lastmessages :
    print(f'{lastmessages.text.strip()}')
else:
     print('No message')

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...