本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
以下文章来源于Python实用宝典 ,作者Python实用宝典
是否担心别人将你的博客文章全部爬下来?
是否担心高频率爬虫导致网站瘫痪?
别担心,现在有一个Python写的神器——crawlerdetect,帮助你检测爬虫,保障网站的正常运转。
1.准备
Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。
在终端输入以下命令安装我们所需要的依赖模块:
看到 Successfully installed xxx 则说明安装成功。
2.使用方法
它可以通过user-agent、headers等请求头识别爬虫或机器人。
因此,你可以传递两种参数。第一种,使用user-agent检测机器人:
第二种识别方式会用上全部headers参数,这种方式比单纯用user-agent精准,因为它判断的依据更加全面。
你还可以识别相应爬虫的名字(如果有的话),通过这种方式,你能给一些著名的爬虫(如baiduspider、googlebot)添加白名单,不进行拦截。
有了这个工具,我们就可以实现实时的爬虫封禁:
首先,你要实时监控网站上的http请求,检测其对应的headers.
其次,如果识别到该请求是机器人(爬虫)发出的,就可将其IP记录下来。
最后,将IP加入到Nginx或Apache的动态黑名单中,实现实时的爬虫封禁。
这一套流程我还没有试验过,大家有兴趣可以试试,理论上可行。