通用爬虫思路
1. 准备URL
- 准备start_url
- url地址规律不明显,总数不确定
- 通过代码查找下一页url
- xpath定位
- 不明显,寻找url地址,部分参数可能放在当前的响应中(比如当前页码数和总页码数会在当前响应中)
- 准备url_list
- 页码总数明确
- url地址规律明显
2. 发送请求,获取响应
- 添加随机的User-Agent,反反爬虫
- 添加随机代理的IP,建立ip代理池,反反爬虫
- 在对方判断我们是爬虫后,应该添加更多的headers字段,包括cookie
- cookie的处理可以使用session模块解决
- 准备一堆可以使用的cookie,组成cookie池
- 如果不登录
- 准备刚开始可以成功请求网址的cookie,即接收对方网址设置在response中的cookie
- 下一次请求的时候,使用之前的cookie来请求
- 如果要登录
- 准备多个账号
- 使用程序获取每个账号的cookie
- 之后请求登录之后才能访问的网址随机使用已有的cookie
- 如果不登录
3. 提取数据
- 确定数据的位置
- 如果数据在当前的url地址响应中