当前位置:嗨网首页>书籍在线阅读

06-网络抓取时的人类化方法

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

[toc]

6.3.1 网络抓取时的“人类化”方法

一些网站通过特定行为检测网络爬虫。在第5章中,我们介绍了如何通过避免点击隐藏链接的方式避免进入蜜罐。下面再给出一些提示,以使在线抓取内容时的表现更像人类。

  • 利用请求头: 我们介绍的大部分抓取库都可以改变请求头,允许你修改类似 User-AgentReferrerHost 以及 Connection 等内容。此外,当使用类似Selenium这样基于浏览器的抓取器时,你的爬虫看起来更像是使用正常请求头的普通浏览器。你可以通过打开浏览器工具,在Network选项卡中查看最近的请求,来了解浏览器正在使用的请求头是什么。这可能会让你更好地了解该站点接受的请求头是什么。
  • 添加延时: 一些爬虫检测技术使用时间确定表单填写速度是否过于迅速,或是页面加载后的链接点击速度是否过快。为了表现得更像人类,可以在与表单交互时添加合适的延时,或是使用 sleep 在请求之间添加延时。这同样也是礼貌的抓取网站的方式,可以避免网站过载。
  • 使用会话和cookie: 正如我们本章所介绍的,使用会话和cookie可以帮助你的爬虫更容易地定位网站,并且可以让你表现得更像是普通浏览器。通过在本地保存会话和cookie,你可以选择暂离时的会话,使用已保存的数据恢复抓取。