python爬虫中异常捕获及标签过滤的方法
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍了python爬虫中异常捕获及标签过滤的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python爬虫中异常捕获及标签过滤的方法文章都会有所收获,下面
千家信息网最后更新 2025年02月03日python爬虫中异常捕获及标签过滤的方法
这篇文章主要介绍了python爬虫中异常捕获及标签过滤的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python爬虫中异常捕获及标签过滤的方法文章都会有所收获,下面我们一起来看看吧。
增加异常捕获,更容易现问题的解决方向
import sslimport urllib.requestfrom bs4 import BeautifulSoupfrom urllib.error import HTTPError, URLError def get_data(url): headers = {"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36" } ssl._create_default_https_context = ssl._create_unverified_context """ urlopen处增加两个异常捕获: 1、如果页面出现错误或者服务器不存在时,会抛HTTP错误代码 2、如果url写错了或者是链接打不开时,会抛URLError错误 """ try: url_obj = urllib.request.Request(url, headers=headers) response = urllib.request.urlopen(url_obj) html = response.read().decode('utf8') except (HTTPError, URLError)as e: raise e """ BeautifulSoup处增加异常捕获是因为BeautifulSoup对象中有时候标签实际不存在时,会返回None值; 因为不知道,所以调用了就会导致抛出AttributeError: 'NoneType' object has no xxxxxxx。 """ try: bs = BeautifulSoup(html, "html.parser") results = bs.body except AttributeError as e: return None return results if __name__ == '__main__': print(get_data("https://movie.douban.com/chart"))
解析html,更好的实现数据展示效果
get_text():获取文本信息
# 此处代码同上面打开url代码一致,故此处省略...... html = response.read().decode('utf8')bs = BeautifulSoup(html, "html.parser")data = bs.find('span', {'class': 'pl'})print(f'电影评价数:{data}')print(f'电影评价数:{data.get_text()}')
运行后的结果显示如下:
电影评价数:(38054人评价)电影评价数:(38054人评价)
find() 方法是过滤HTML标签,查找需要的单个标签
实际find方法封装是调用了正则find_all方法,把find_all中的limt参数传1,获取单个标签
1.name:可直接理解为标签元素
2.attrs:字典格式,放属性和属性值 {"class": "indent"}
3.recursive:递归参数,布尔值,为真时递归查询子标签
4.text:标签的文本内容匹配 , 是标签的文本,标签的文本
find_all() 方法是过滤HTML标签,查找需要的标签组
使用方法适合find一样的,无非就是多了个limit参数(筛选数据)
必须注意的小知识点:
# 下面两种写法,实际是一样的功能,都是查询id为text的属性值bs.find_all(id="text")bs.find_all(' ', {"id": "text"})
# 如果是class的就不能class="x x x"了,因为class是python中类的关键字bs.find_all(class_="text")bs.find_all(' ', {"class": "text"})
关于"python爬虫中异常捕获及标签过滤的方法"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python爬虫中异常捕获及标签过滤的方法"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
标签
方法
评价
爬虫
文本
电影
知识
代码
内容
参数
实际
属性
错误
单个
数据
篇文章
递归
查询
一致
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安可品牌网络安全
网络技术对教育教学的帮助
现在做服务器软件工作都是干什么
c 数据库打包
主营工程基建类软件开发股票
服务器高负载
故障诊断数据库的专利
黑龙江运营网络技术服务哪家好
吉林省审计厅网络安全项目
科信都有哪些类数据库
qq数据库 打开
国内近几年网络安全事件
iPhone电话数据库
美国对华网络安全
网络技术给学习带来的好处
事业单位软件开发人员选项
删除远程数据库的权限不够
辰华网络技术服务公司
2020年网络安全风险评估报告
口碑好的网络技术开发
陕西宝鸡网络安全部门
为什么软件开发比国外还便宜
手游cf服务器名字
加强网络安全意识维护
多用户访问sql数据库
青岛小鱼网络技术有限责任公司
如何做好网络安全管理工作
广电网如何设置dns服务器
开源软件开发多少钱
服务器蓝屏代码007