摘要:
logging.basicConfig() 是 Python 标准库 logging 模块中的一个函数,用于配置日志记录器(logger)的基本选项。这个函数允许你在不创建和配置多个 logger、handler 和 formatter 的情况下,快速地为你的应用程序设置日志记录。 以下是一些 ba 阅读全文
摘要:
在用 requests 抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,而使用 requests 得到的结果并没有。这是因为 requests 获取的都是原始的 HTML 文档,而浏览器中的页面则是经过 JavaScript 处理数据后生成的结果,这些数 阅读全文
摘要:
用解析器解析出数据之后,接下来就是存储数据了。保存的形式可以多种多样,最简单的形式是直接保存为文本文件,如 TXT、JSON、CSV 等。另外,还可以保存到数据库中,如关系型数据库 MySQL,非关系型数据库 MongoDB、Redis 等。除了这两种也可以吧数据存储到搜索引擎(如Elasticse 阅读全文
摘要:
案例介绍 爬取一个数据量较大的软件,链接为https://spa5.scrape.center,页面如下图所示: 这是一个图书网站,整个网站包含数千本图书信息,网站数据是 JavaScript 渲染而得的,数据可以通过 Ajax 接口获取,并且接口没有设置反爬措施和加密参数。且网站数据量多,更适合异 阅读全文
摘要:
爬虫是 IO 密集型任务,例如使用 requests 库来爬取某个站点,发出一个请求之后,程序必须要等待网站返回响应之后才能接着运行,而在等待响应的过程中,整个爬虫程序是一直在等待的,实际上没有做任何的事情。对于这种情况我们有没有优化方案呢? 协程的基本原理 要实现异步机制的爬虫,自然和协程脱不了关 阅读全文
摘要:
在上一节中介绍了异步爬虫的基本原理和 asyncio 的基本用法,并且在最后简单提及了使用 aiohttp 来实现网页爬取的过程。本节介绍一下 aiohttp 的常见用法。 基本介绍 前面介绍的 asyncio 模块内部实现了对 TCP、UDP、SSL 协议的异步操作,但是对于 HTTP 请求来说, 阅读全文
摘要:
Ajax 分析与爬取实战 准备工作 安装好 Python3 了解 Python HTTP 请求库 requests 的基本用法 了解 Ajax 基础知识和分析 Ajax 的基本方法 爬取目标 以一个示例网站来实验一下 Ajax 的爬取,链接为:https://spa1.scrape.center/, 阅读全文
摘要:
Ajax 分析方法 以前面的微博为例,拖动刷新的内容由 Ajax 加载,而且页面的 URL 没有变化,那么应该到哪里去查看这些 Ajax 请求呢? 查看请求 需要借助浏览器的开发者工具,下面以 Chrome 浏览器为例。 用 Chrome 浏览器打开微博的链接 https://m.weibo.cn/ 阅读全文
摘要:
介绍 parsel这个库可以解析HTML和XML,并支持使用XPath和CSS选择器对内容进行提取和修改,同时还融合了正则表达式的提取功能。parsel灵活强大,同时也是Python最流行的爬虫框架的底层支持。 parsel的API和Scrapy选择器的API极其相似,因为Scrapy的选择器就是基 阅读全文
摘要:
学习了正则表达式的相关用法,一旦正则表达式写的有问题,得到的可能就不是想要的结果了。对于一个网页来说,都有一定的特殊结构和层级关系,很多节点都有 id 或 class 来作区分,所以借助它们的结构和属性来提取也可以。 Beautiful Soup是一个强大的解析工具 ,它借助网页的结构和属性等特性来 阅读全文