返回顶部
首页 > 资讯 > 后端开发 > Python >python爬虫之异常捕获及标签过滤的示例分析
  • 854
分享到

python爬虫之异常捕获及标签过滤的示例分析

2023-06-15 03:06:57 854人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python爬虫之异常捕获及标签过滤的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。增加异常捕获,更容易现问题的解决方向import ss

这篇文章主要介绍了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()}')

运行后的结果显示如下:

电影评价数:<span class="pl">(38054人评价)</span>电影评价数:(38054人评价)
  • find() 方法是过滤HTML标签,查找需要的单个标签

python爬虫之异常捕获及标签过滤的示例分析

实际find方法封装是调用了正则find_all方法,把find_all中的limt参数传1,获取单个标签

name:可直接理解为标签元素

attrs:字典格式,放属性和属性值 {"class": "indent"}

recursive:递归参数,布尔值,为真时递归查询子标签

text:标签的文本内容匹配 , 是标签的文本,标签的文本

  • find_all() 方法是过滤HTML标签,查找需要的标签组

使用方法适合find一样的,无非就是多了个limit参数(筛选数据)

python爬虫之异常捕获及标签过滤的示例分析

必须注意的小知识点:

#   下面两种写法,实际是一样的功能,都是查询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常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

感谢你能够认真阅读完这篇文章,希望小编分享的“python爬虫之异常捕获及标签过滤的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: python爬虫之异常捕获及标签过滤的示例分析

本文链接: https://lsjlt.com/news/277063.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python爬虫之异常捕获及标签过滤的示例分析
    这篇文章主要介绍了python爬虫之异常捕获及标签过滤的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。增加异常捕获,更容易现问题的解决方向import ss...
    99+
    2023-06-15
  • python爬虫之异常捕获及标签过滤详解
    增加异常捕获,更容易现问题的解决方向 import ssl import urllib.request from bs4 import BeautifulSoup from ur...
    99+
    2024-04-02
  • JavaScript中事件与异常捕获的示例分析
    小编给大家分享一下JavaScript中事件与异常捕获的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!事件处理【onCl...
    99+
    2024-04-02
  • Python爬虫基础之请求的示例分析
    小编给大家分享一下Python爬虫基础之请求的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、请求目标(URL)URL又叫作统一资源定位符,是用于完整地...
    99+
    2023-06-15
  • Python爬虫必备之XPath解析库的示例分析
    小编给大家分享一下Python爬虫必备之XPath解析库的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、简介XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进...
    99+
    2023-06-15
  • Python爬虫之爬取2020女团选秀数据的示例分析
    这篇文章主要介绍Python爬虫之爬取2020女团选秀数据的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、先看结果1.1创造营2020撑腰榜前三甲创造营2020撑腰榜前三名分别是 希林娜依·高、陈卓璇 、...
    99+
    2023-06-14
  • Python爬虫抓取几个常见小问题的示例分析
    这篇文章主要介绍Python爬虫抓取几个常见小问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pillow;4....
    99+
    2023-06-14
  • 自定义注解和springAOP捕获Service层异常并处理自定义异常的示例分析
    这篇文章主要为大家展示了“自定义注解和springAOP捕获Service层异常并处理自定义异常的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“自定义注解和springAOP捕获Serv...
    99+
    2023-06-15
  • Python爬虫中自动爬取某车之家各车销售数据的示例分析
    这篇文章主要介绍Python爬虫中自动爬取某车之家各车销售数据的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、目标网页分析目标网站是某车之家关于品牌汽车车型的口碑模块相关数据,比如我们演示的案例奥迪Q5L...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作