个人学习笔记,方便自己查阅,仅供参考,欢迎交流
爬虫的基本原理
A.爬虫概述
爬虫就是获取网页并提取和保存信息的自动程序
1.获取网页
- 爬虫要做工作就是获取网页的源代码,源代码里包含了网页的部分有用信息,把源代码获取了,就可以从中提取想要的信息了。
- 向网站的服务器发送一个请求,返回的响应体便是网页源代码。
- 最关键的部分就是构造一个请求并发送给服务器,然后接收到响应并将其解析出来。
2.提取信息
- 分析网页源代码,从中提取想要的数据,最通用的方法便是采用正则表达式提取。
- 由于网页的结构有一定的规则,所以还有一些根据网页节点属性、CSS选择器或XPath来提取网页信息的库。
- 提取信息是爬虫非常重要的部分,它可以使杂乱的数据变得条理清晰,以便后续处理和分析数据。
3.提取信息
- 提取信息后,一般会将提取到的数据保存到某处以便后续使用。
- 保存形式:可以简单保存为 TXT 文本或 JSON 文本,也可以保存到数据库,如MySQL。也可以保存至远程服务器,如借 SFTP 行操作等。
4.自动化程序
- 爬虫是代替我们来完成这份爬取工作的自动程序,它可以在抓取过程中进行异常处理、错误重试等操作,确保爬取持续高效地运行。
B.爬取内容
- 抓取HTML源代码
- JSON字符串(其中API接口大多采用这样的形式)
- 各种二进制数据,如图片、视频和音频等
- 各种扩展名的文件,如CSS、JavaScript 和配置文件等
C.JavaScript 渲染页面
我们在用 urllib或requests抓取网页时,得到的源代码实际和浏览器中看到的不一样。这是个非常常见的问题。现在网页越来越多地采用 Ajax,前端模块化工具来构建,整个网页能都是由 JavaScript 渲染出来的,也就是说原始的HTML代码就是一个空壳。对于这样的情况,可以分析其后台 Ajax 接口,也可使用 Selenium、Splash 这样的库来实现模拟JavaScript 渲染。
网友评论