目录
- 目的
- 伪装自己
- 模仿“浏览网页”
- 收集数据
- 完整示例
- 附加题
0. 目的
通过一个示例了解所谓“爬虫程序浏览网页”的真实情况和流程,所有的Web数据收集爬虫都于这个流程相关。
1. 伪装自己:爬虫不是爬虫,是chrome浏览器
headers = {
'User-Agent': 'Chrome/53.0.2785.143', # 模仿chrome 浏览器
'Connection': 'keep-alive',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
}
为什么要伪装自己:
一般而言,多数网站都配置了反爬虫策略,目的是防止恶意爬虫的行为增加网站服务器的压力等行为,所以数据收集爬虫一般而言都会“自称自己不是爬虫,而是一个正常的浏览器”。
2. 模仿“人类浏览网页”:完成一个网页访问动作
data = requests.get("www.baidu.com", headers=headers)
这是什么意思:
用户访问一个网页,就是一个“指定网址->服务器返回对应网页数据->获取网页数据,由浏览器来显示用户可读的界面->用户看到网页界面”的过程,这里反映的即是“指定访问www.baidu.com网页->返回网页数据”这个阶段。
3. 收集数据:获取网页的真实面目
这里选择将网页数据打印出来
print(data.text)
呈现出来的是“杂乱”的文本?!:
这就是网页的真实样子,后续的时候爬虫将会比较“优雅”的解析这些数据并提取用户想要的数据。
4. 完整示例
5. 附加题
上文所示的伪装策略只是最基础的策略(改变身份和访问来源),更多策略包括:
- 停等策略
- 代理IP
- 产生“点击”行为
- 更改cookie
- 更改跳转地址
- ...
更多内容请继续百度一下,