python - 抓取时查找特定值,找不到值时忽略
问题描述
所以,我正在创建一个网络抓取工具,我想实现一个 IF 语句来检查文本“Comarca de”是否在 HTML 的一个段落内,但它不起作用,这是我尝试过的:
import urllib.request
import bs4
from bs4 import BeautifulSoup
pagina_scrap = str('http://www8.tjmg.jus.br/juridico/diario/index.jsp?dia=0903&completa=interior|0720')
pagina_open = urllib.request.urlopen(pagina_scrap)
soup = bs4.BeautifulSoup(pagina_open, 'html.parser')
arquivo = open("INTERIOR0903.txt", "w+")
if soup.find('p', text='Comarca de'):
for div in soup.find_all('div', class_='corpo'):
print(div.text)
arquivo.write(div.text)
如果没有 IF 语句,抓取工作正常,但使用 with 语句没有任何反应,并且此链接是应该获取文本的链接。
解决方案
如果你得到 p 标签的文本
print(soup.find('p').get_text())
您将从上面提到的 url 中获得输出,例如
» 咨询 » Diário do Judiciário
显然这将返回 Falsesoup.find('p', text='Comarca de'):
所以它不会在 if 语句之后进一步执行
推荐阅读
- r - R中是否有一种方法可以使反应数据集的列可单击(my_dates()的“日期”)以显示对单击参数的更多分析
- angular - 类型错误 - 事件对象的对象可能为“空”
- c++ - 如果我只想使用外部声明而不使用内部声明,我该怎么办?
- android - 在android中如何使用c函数查找/dev/input/event*用于触摸屏
- filter - D365 F&O 双写过滤器对空值无法正常工作
- android - 检查是否输入了正确的 OTP,而无需在 Android 和 Firebase 上登录用户
- c# - 如何读取用户角色以验证我的登录 C# windows 表单。这是我的实现
- c++ - 可以快速消耗的 std::vector
- java - KITKAT 视频自动播放中的 Web 视图不起作用仅显示缩略图
- angularjs - 忽略列表中的空值