实现python爬虫的套路
准备url
- 开始请求url地址的设定技巧
-
准备start_url
- url地址规律不明显,总数不确定
- xpath语法获取下一页的url地址
- 寻找url地址,部分参数再当前的相应中(比如,当前页码数和总的页码数再当前的响应中)
-
准备url_list
- 页码总数比较明显
- url地址规律明显
-
准备url_list
- 页码总数明确
- url地址规律明显
-
发送请求,获取响应
1. 添加随机的User-Agent,反反爬虫
2. 添加随机的代理ip,反反爬虫
3. 再对方判断出我们是爬虫之后,应该添加更多的headers字段,包括cookie
4. cookie的处理可以用session来解决,session = request.session()
5. session.get(url) # 可以保留上一次的cookie
6.准备一堆能用的cookie,组成cookie池
登录
一、如果登录
1. 准备多个账号
2. 使用程序获取每个账号的cookie
3. 之后请求登录之后才能访问的网站选择随机的cookie
二、如果不登录
1. 准备刚开始能够成功请求对方网站的cooike,及接受对方网站设置再response的cookie
2. 下一次登录的时候,使用之前列表中的cooike来请求
提取数据
**确定数据的位置**
一、 如果数据再当前的url地址中
1. 提取的是列表页中的数据
(1)直接请求列表页的url地址,获取数据,不用进入详情页
2. 提取的是详情页的数据
1. 确定详情页的url地址
2. 发送请求, 获取响应
3. 提取数据
4. 返回
二、 如果数据不在当前的url地址中
在其他响应中寻找数据的位置
1. 从network中从上往下找
2. 使用chrome中的过滤条件,选择出除了css,js,img之外的按钮,但是有可能会造成数据不准确的情况
3. 使用chrome中的search all file,搜索数字和英文
数据的提取方法
1. 使用xpath语法: 可以在页面中比较精准的提取出所需要的数据,比较容易
2. 使用re正则表达式, 一般提取页面中比较特殊的数据, 列如price等
3. 使用json,将文件转换成python格式