我从五个方面介绍了利用 Python 进行网络爬虫开发的相关知识点和技巧:
- 抓取
- 解析
- 存储
- 反爬
- 加速
目录
一、爬取
爬取的目标可以大致分为两类:网页、APP
对于网页,可以分为两种类别,即
- 服务端渲染
- 客户端渲染
对于APP,可以分为四类,即
- 普通接口
- 加密参数接口
- 加密内容接口
- 非常规协议接口
(一)网页爬取
服务端渲染
对于服务端渲染,用一些基本的HTTP请求库就可以实现爬取,如 urllib、urllib3、pycurl、hyper、requests、grab 等框架,其中应用最多的可能就是 requests 了。
客户端渲染
对于客户端渲染,有四种处理方法:
- 寻找Ajax接口
- 此种情形可以直接使用 Chrome/Firefox 的开发者工具直接查看 Ajax 具体的请求方式、参数等内容,然后用 HTTP 请求库模拟即可,另外还可以通过设置代理抓包来查看接口,如 Fiddler/Charles。
- 模拟浏览器执行
- 此种情形适用于网页接口和逻辑较为复杂的情况,可以直接以可见即可爬的方式进行爬取