摘要: 爬虫是 IO 密集型任务,例如使用 requests 库来爬取某个站点,发出一个请求之后,程序必须要等待网站返回响应之后才能接着运行,而在等待响应的过程中,整个爬虫程序是一直在等待的,实际上没有做任何的事情。对于这种情况a56爆大奖在线娱乐们有没有优化方案呢? 协程的基本原理 要实现异步机制的爬虫,自然和协程脱不了关 阅读全文
posted @ 2024-05-29 01:56 JJJhr 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 在上一节中介绍了异步爬虫的基本原理和 asyncio 的基本用法,并且在最后简单提及了使用 aiohttp 来实现网页爬取的过程。本节介绍一下 aiohttp 的常见用法。 基本介绍 前面介绍的 asyncio 模块内部实现了对 TCP、UDP、SSL 协议的异步操作,但是对于 HTTP 请求来说, 阅读全文
posted @ 2024-05-29 01:56 JJJhr 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Ajax 分析与爬取实战 准备工作 安装好 Python3 了解 Python HTTP 请求库 requests 的基本用法 了解 Ajax 基础知识和分析 Ajax 的基本方法 爬取目标 以一个示例网站来实验一下 Ajax 的爬取,链接为:https://spa1.scrape.center/, 阅读全文
posted @ 2024-05-29 01:55 JJJhr 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Ajax 分析方法 以前面的微博为例,拖动刷新的内容由 Ajax 加载,而且页面的 URL 没有变化,那么应该到哪里去查看这些 Ajax 请求呢? 查看请求 需要借助浏览器的开发者工具,下面以 Chrome 浏览器为例。 用 Chrome 浏览器打开微博的链接 https://m.weibo.cn/ 阅读全文
posted @ 2024-05-29 01:54 JJJhr 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 介绍 parsel这个库可以解析HTML和XML,并支持使用XPath和CSS选择器对内容进行提取和修改,同时还融合了正则表达式的提取功能。parsel灵活强大,同时也是Python最流行的爬虫框架的底层支持。 parsel的API和Scrapy选择器的API极其相似,因为Scrapy的选择器就是基 阅读全文
posted @ 2024-05-24 16:07 JJJhr 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 学习了正则表达式的相关用法,一旦正则表达式写的有问题,得到的可能就不是想要的结果了。对于一个网页来说,都有一定的特殊结构和层级关系,很多节点都有 id 或 class 来作区分,a56爆大奖在线娱乐借助它们的结构和属性来提取也可以。 Beautiful Soup是一个强大的解析工具 ,它借助网页的结构和属性等特性来 阅读全文
posted @ 2024-05-24 16:06 JJJhr 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 使用 pyquery 若对 Web 有所涉及,比较喜欢用 CSS 选择器,对 jQuery 有所了解,可以使用解析库 ——pyquery。 准备工作 安装 pyquery库 pip3 install pyquery 初始化 像 Beautiful Soup 一样,初始化 pyquery 的时候,也需 阅读全文
posted @ 2024-05-24 16:06 JJJhr 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 正则表达式比较烦琐,万一有地方写错了,可能导致匹配失败,a56爆大奖在线娱乐使用正则表达式提取页面信息多多少少还是有些不方便。 对于网页的节点来说,它可以定义 id、class 或其他属性。而且节点之间还有层次关系,在网页中可以通过 XPath 或 CSS 选择器来定位一个或多个节点。那么,在页面解析时,利用 XP 阅读全文
posted @ 2024-05-24 16:05 JJJhr 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 准备工作 Python3,3.6以上的版本 了解Python多进程的基本原理 了解PythonHTTp请求库requests的基本用法 了解正则表达式的用法和正则表达式re的基本用法 爬取目标 静态网站案例,包含一些电影信息。 电影详情页 需完成的目标: requests爬取站点的每一页电影列表,顺 阅读全文
posted @ 2024-05-24 02:11 JJJhr 阅读(5) 评论(0) 推荐(0) 编辑
摘要: urllib和requests库已经可以爬取大多数网站的数据,但对于一些强制使用HTTP/2.0协议访问,这时urllib和requests是无法爬取数据的,因为只支持HTTP/1.1,不支持HTTP/2.0。可以使用一些支持HTTP/2.0的请求库,比较有代表性的是hyper和httpx,后者用起 阅读全文
posted @ 2024-05-24 01:47 JJJhr 阅读(21) 评论(0) 推荐(0) 编辑