3. 原理探究,了解爬虫的基本原理
3.1 爬虫概述
简单地说,爬虫就是获取网页并提取保存信息的自动化程序
3.2 获取网页
获取网页的源代码,向网站的服务器发送一个请求,返回的响应体便是网页源代码
借助urllib、requests库可以实现HTTP请求操作,请求和响应都可以用库提供的数据结构表示,得到相应之后只需解析数据结构中的Body部分
3.3 提取信息
如何在网页源代码中提取想要的数据,使杂乱的数据变得条理清晰
- 正则表达式
- 根据节点属性、CSS选择器、XPath来提取网页信息的库,如Beatutiful Soup、pyquery、lxml等
3.4 保存数据
- 简单保存为TXT文本或JSON数据
- 保存到MySQL或者MongoDB等数据库
- 借助SFTP保存到远程服务
3.5 抓取什么样的数据
- 最常见:HTML源代码
- JSON字符串(API接口常用)
- 二进制数据——图片、视频、音频
3. 6 JavaScript渲染页面
有时使用urlib和requests抓取网页时,得到的源代码和浏览器中的不同。因为网页使用Ajax、前端模块化工具构建,整个网页可能是由JavaScript渲染出来的,原始HTML是一个空壳
可使用Selenium、Splash的库来模拟JavaScript渲染