首页 / 知识
合法爬虫?用Python给你整明白!
2023-11-12 13:41:00
没有绝对的反爬虫措施,只能提高爬虫爬取的成本。
爬虫措施:
·不设防的网站,直接爬取,不做任何伪装
·基础防备的网站,爬取过程中增加time.sleep(n)进行休眠一下,降级爬取频次,防止被限制。再可以每次爬取切换header头信息,伪装成多个终端发起的请求
·需要登录的情况下,需要多个用户账户,爬取过程中切换cookie信息,模拟不同用户在请求。
·使用IP代理池,切换IP,越过高级限制。
·python爬虫相关的有几个实现越过限制的包:fake_useragentproxy_list等,伪装的越像真实用户越爬取成功率高。
反爬虫措施:
·Nginx层面进行频次限制,可以参考Nginxhttp资源请求限制,至于限制的key为浏览器头/IP/登录用户,可以根据需求进行设置。
·代码层面限制需要登录访问,一天仅可以访问一定数量的页面,未登录状态仅可以查看可数的几个页面,例如房源信息网站,一天查看60+的房源详情页面已经很多了,更多可以就有恶意了。这样的限制对于爬虫方来说,需要筹备很多账号进行爬取。当然在彻底的限制之外,可以限制访问超过数量弹出验证码,验证之后才可以继续访问,这样至少不会让少部分真实用户无法访问。
·提前获取IP代理池的IP列表,直接防火墙层面的拉黑,能高端避免一些问题,免费IP代理池记得有网站,需要拉黑在自己获取。
·将常见的爬虫头信息全部Nginx或者代码层面拉黑,据说一些大网站把python的几个常见爬虫头信息全部拉黑了,提升基础爬虫的代码成本。
高端反爬虫是每隔几小时切换页面代码或者接口数据结构,记得淘宝是这样做的,对于爬虫方来说,可能刚刚写好爬这种类型的代码,然后整体页面代码和数据结构用了新一套,很高阶的反制措施了。
·数据扰乱:每一页有一些加解密规则,或者每页有不同的扰乱数据,你抓取到的极有可能是包含一些假数据,或者加密数据,也算是增加了爬虫成本。例如网页中也可以增加一些关键性的样式或者名称一致的隐藏域,偶数页不出现这些隐藏域,让爬虫不好找的关键元素。
以上是自己想到的一些措施,谨记现在乱爬是违法的,别爬取一时爽,三年起步了。
以上内容为大家介绍了合法爬虫?用Python给你整明白!希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
linux命令连接网站?
linux命令连接网站?,网络,系统,信息,地址,名称,密码,设备,软件,网站,工具,Linux下必须知道的11个网络命令1、netstat -r:打印路由表。路由表保linux清空信息的命令?
linux清空信息的命令?,信息,系统,设备,情况,命令,暂停,状态,发行,数字,文件,Linux文件系统操作命令1、df命令:用于显示文件系统的磁盘空间使用linux基础常用命令?
linux基础常用命令?,工作,地址,系统,信息,基础,命令,目录,管理,控制台,常用命令,Linux命令有哪些?Linux常用命令大全1、linux系统常用操作命令linux程序的状态命令?
linux程序的状态命令?,系统,状态,服务,情况,软件,进程,数据,基础,命令,信息,Linux系统中用于查看系统进程状态的命令是什么?1、命令是[ps-aux]。linux命令行连数据库?
linux命令行连数据库?,地址,服务,信息,名字,数据库,密码,网络,一致,软件,系统,linux怎么连接mongodb数据库1、在这里使用的是MongoVUE进行连接linux命令行看代码?
linux命令行看代码?,代码,基础,系统,命令,数字,工作,情况,进程,程序,终端,在Linux命令终端中查看和编辑曾执行过的命令1、使用历史命令:在终端linux命令代码怎么看?
linux命令代码怎么看?,时间,系统,代码,命令,状态,工具,情况,电脑,实时,基础,linux查看系统命令是什么有的,Linux中有多个命令可以用于查看文件怎么把数据库导入navicat?
怎么把数据库导入navicat?,软件,信息,密码,管理,数据库,服务,电脑,按钮,类型,文件,Navicat是一个强大的数据库管理工具,它可以连接和管理多种数python标识符有哪些基础原则?
python标识符有哪些基础原则?,最新,技术,标识符,名称,培训,合法,基础知识,基础,数字,企业,在Python学习中,你会接触到标识符,这也是Python的基础比较好用的Python代码编辑器
比较好用的Python代码编辑器,代码,平台,环境,培训,教育,设计,数据,办公,人员,分析,Python是一款非常简单的编程语言,其功能使用起来都十分方便Python网络爬虫教程
Python网络爬虫教程,网络,代码,数据,爬虫,体系,设计,网站,时间,培训,智能,Python网络爬虫上手很快,能够尽早入门,可是想精通确实是需求些时间,需pycharm无法输入代码?
pycharm无法输入代码?,代码,环境,工具,分析,输入法,键盘,性能,计算机,问题,版本,PyCharm是一款Python语言开发的集成开发环境(IDE),它是许多Pytho