【发布时间】:2024-05-19 23:50:02
【问题描述】:
您好,我在管理变量中的 html 代码时遇到问题。
我想制作一个在网站上登录帐户的程序,然后检查特定位置的某些内容是否发生了变化,如果发生了变化,然后给我发送电子邮件或某种通知。
import requests
from bs4 import BeautifulSoup as bs
tab = []
payload = {
'plates': 'login',
'vin': 'password'
}
with requests.Session() as s:
p = s.post('url', data=payload)
print (p.text)
soup = bs(p.text,'html.parser')
body = soup.find_all("li",{"class" : "state"},"span")
a = body[2]
print (a)
p.text 是整个 html 代码
身体是这样的
[<li class="state first">
<p><span>Przyjęto wniosek, trwa postępowanie administracyjne</span></p>
<img class="arrow" src="//cdn.info-car.pl/webfiles/1590137977316/img/document/selected_status.png"/>
</li>, <li class="state active">
<p><span>Dokument został zamówiony</span></p>
<img class="arrow" src="//cdn.info-car.pl/webfiles/1590137977316/img/document/selected_status_active.png"/>
</li>, <li class="state">
<p><span>Dokument do odbioru w urzędzie</span></p>
<img class="arrow" src="//cdn.info-car.pl/webfiles/1590137977316/img/document/selected_status.png"/>
</li>, <li class="state last">
<p><span>Dokument wydany</span></p>
<img class="arrow" src="//cdn.info-car.pl/webfiles/1590137977316/img/document/selected_status.png"/>
</li>]
body[2] 看起来像这样:
<li class="state">
<p><span>Dokument do odbioru w urzędzie</span></p>
<img class="arrow" src="//cdn.info-car.pl/webfiles/1590137977316/img/document/selected_status.png"/>
</li>
现在我的计划是从 body[2] 中只选择 src="//cdn.info-car.pl/webfiles/1590137977316/img/document/selected_status.png"/>
然后将其与包含相同文本的另一个变量进行比较(我从网络上抓取的 body[2] 中的变量希望有一天会改变)
如果这 2 个变量不完全相同,那就做点什么(我想我会处理消息部分)
我只是不知道如何选择我想要的部分。 像字符串一样管理它很困难,因为所有这些怪异的字符(、、'、/)等等。
我想我希望我的最终解决方案是这样的
if The_part_I_want == The old html code:
pass
else:
send me a notification
【问题讨论】:
标签: python html string authentication web-scraping