如何禁止网络爬虫频繁爬自己网站

如何禁止网络爬虫频繁爬自己网站,第1张

可以设置robotstxt来禁止网络爬虫来爬网站

方法:

首先,你先建一个空白文本文档(记事本),然后命名为:robotstxt;

(1)禁止所有搜索引擎访问网站的任何部分。

User-agent:

Disallow: /

(2)允许所有的robots访问,无任何限制。

User-agent:

Disallow:

或者

User-agent:

Allow: /

还可以建立一个空文件robotstxt或者不建立robotstxt。

(3)仅禁止某个搜索引擎的访问(例如:百度baiduspider)

User-agent: BaiduSpider

Disallow:/

(4)允许某个搜索引擎的访问(还是百度)

User-agent: BaiduSpider

Disallow:

User-agent:

Disallow: /

这里需要注意,如果你还需要允许谷歌bot,那么也是在“User-agent: ”前面加上,而不是在“User-agent: ”后面。

(5)禁止Spider访问特定目录和特定文件(、压缩文件)。

User-agent:

Disallow: /AAAnet/

Disallow: /admin/

Disallow: jpg$

Disallow: rar$

这样写之后,所有搜索引擎都不会访问这2个目录。需要注意的是对每一个目录必须分开说明,而不要写出“Disallow:/AAAnet/ /admin/”。

1、网站建设好了,当然是希望网页被搜索引擎收录的越多越好,但有时候我们也会碰到网站不需要被搜索引擎收录的情况。要启用一个新的域名做镜像网站,主要用于PPC的推广,这个时候就要想办法屏蔽搜索引擎蜘蛛抓取和索引我们镜像网站的所有网页。因为如果镜像网站也被搜索引擎收录的话,很有可能会影响官网在搜索引擎的权重。

2、屏蔽主流搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路。是整站屏蔽,而且是尽可能的屏蔽掉所有主流搜索引擎的爬虫。

3、通过robotstxt文件屏蔽,可以说robotstxt文件是最重要的一种渠道(能和搜索引擎建立直接对话)。通过metatag屏蔽,在所有的网页头部文件添加,添加如下语句:。通过服务器(如:Linux/nginx)配置文件设置,直接过滤spider/robots的IP段。

一般情况我们都是喜欢让蜘蛛过来爬网站的,这样可以让网站更利收录,更新快照的,一般的网站是不会遇到被蜘蛛爬行次数过来而导致服务器不稳定的,我们现在很多做优化的,都是在想尽办法让蜘蛛过来爬行的哦! 嘉兴七彩光电科技有限公司--SEO部 小李,希望可以帮到您哦!

一般有一下几种

一些常用的方法

IP代理

对于IP代理,各个语言的Native Request API都提供的IP代理响应的API, 需要解决的主要就是IP源的问题了

网络上有廉价的代理IP(1元4000个左右), 我做过简单的测试, 100个IP中, 平均可用的在40-60左右, 访问延迟均在200以上

网络有高质量的代理IP出售, 前提是你有渠道

因为使用IP代理后, 延迟加大, 失败率提高, 所以可以将爬虫框架中将请求设计为异步, 将请求任务加入请求队列(RabbitMQ,Kafka,Redis), 调用成功后再进行回调处理, 失败则重新加入队列 每次请求都从IP池中取IP, 如果请求失败则从IP池中删除该失效的IP

Cookies

有一些网站是基于cookies做反爬虫, 这个基本上就是如 @朱添一 所说的, 维护一套Cookies池

注意研究下目标网站的cookies过期事件, 可以模拟浏览器, 定时生成cookies

限速访问

像开多线程,循环无休眠的的暴力爬取数据, 那真是分分钟被封IP的事, 限速访问实现起来也挺简单(用任务队列实现), 效率问题也不用担心, 一般结合IP代理已经可以很快地实现爬去目标内容

一些坑

大批量爬取目标网站的内容后, 难免碰到红线触发对方的反爬虫机制 所以适当的告警提示爬虫失效是很有必有的

一般被反爬虫后, 请求返回的HttpCode为403的失败页面, 有些网站还会返回输入验证码(如豆瓣), 所以检测到403调用失败, 就发送报警, 可以结合一些监控框架, 如Metrics等, 设置短时间内, 告警到达一定阀值后, 给你发邮件,短信等

当然, 单纯的检测403错误并不能解决所有情况 有一些网站比较奇葩, 反爬虫后返回的页面仍然是200的(如去哪儿), 这时候往往爬虫任务会进入解析阶段, 解析失败是必然的 应对这些办法, 也只能在解析失败的时候, 发送报警, 当告警短时间到达一定阀值, 再触发通知事件

当然这个解决部分并不完美, 因为有时候, 因为网站结构改变, 而导致解析失败, 同样回触发告警 而你并不能很简单地区分, 告警是由于哪个原因引起的

控制下载频率大规模集中访问对服务器的影响较大,爬虫可以短时间增大服务器负载。这里需要注意的是:设定下载等待时间的范围控制,等待时间过长,不能满足短时间大规模抓取的要求,等待时间过短则很有可能被拒绝访问。在之前“从url获取HTML”的方法里,对于httpGet的配置设置了socket超时和连接connect超时,其实这里的时长不是绝对的,主要取决于目标网站对爬虫的控制。

另外,在scrapy爬虫框架里,专有参数可以设置下载等待时间download_delay,这个参数可以设置在settingpy里,也可以设置在spider里。

IP的访问频率被限制,一些平台为了防止多次访问网站,会在某个同一个IP在单元时间内超过一定的次数的时候,将禁止这个IP继续访问。对于这个限制IP访问效率,可以使用代理IP的方法来解决问题比如使用IPIDEA。

采用分布式爬取分布式爬取的也有很多Githubrepo。原理主要是维护一个所有集群机器能够有效分享的分布式队列。使用分布式爬取还有另外一个目的:大规模抓取,单台机器的负荷很大,况且速度很慢,多台机器可以设置一个master管理多台slave去同时爬取。

修改User-Agent最常见的就是伪装浏览器,修改User-Agent(用户代理)。User-Agent是指包含浏览器信息、操作系统信息等的一个字符串,也称之为一种特殊的网络协议。服务器通过它判断当前访问对象是浏览器、邮件客户端还是网络爬虫。在requestheaders里可以查看user-agent,关于怎么分析数据包、查看其User-Agent等信息,这个在前面的文章里提到过。

具体方法可以把User-Agent的值改为浏览器的方式,甚至可以设置一个User-Agent池(list,数组,字典都可以),存放多个“浏览器”,每次爬取的时候随机取一个来设置request的User-Agent,这样User-Agent会一直在变化,防止被墙。

综上所述,爬虫怎么突破反爬虫的方法比较多,上文从更换IP、控制下载频率、分布式爬取、修改User-Agent这四个方面介绍了突破反爬虫机制的方法,从而实现数据的爬取。

以下列举了屏蔽主流搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路。注意:是整站屏蔽,而且是尽可能的屏蔽掉所有主流搜索引擎的爬虫(蜘蛛)。

1、通过 robotstxt 文件屏蔽

可以说 robotstxt 文件是最重要的一种渠道(能和搜索引擎建立直接对话),给出以下建议:

User-agent: Baiduspider

Disallow: /

User-agent: Googlebot

Disallow: /

User-agent: Googlebot-Mobile

Disallow: /

User-agent: Googlebot-Image

Disallow:/

User-agent: Mediapartners-Google

Disallow: /

User-agent: Adsbot-Google

Disallow: /

User-agent:Feedfetcher-Google

Disallow: /

User-agent: Yahoo! Slurp

Disallow: /

User-agent: Yahoo! Slurp China

Disallow: /

User-agent: Yahoo!-AdCrawler

Disallow: /

User-agent: YoudaoBot

Disallow: /

User-agent: Sosospider

Disallow: /

User-agent: Sogou spider

Disallow: /

User-agent: Sogou web spider

Disallow: /

User-agent: MSNBot

Disallow: /

User-agent: ia_archiver

Disallow: /

User-agent: Tomato Bot

Disallow: /

User-agent:

Disallow: /

2、通过 meta tag 屏蔽

在所有的网页头部文件添加,添加如下语句:

<meta name="robots" content="noindex, nofollow">

3、通过服务器(如:Linux/nginx )配置文件设置

直接过滤 spider/robots 的IP 段。

来源:法治日报——法制网

核心阅读

在大数据时代的背景下,愈来愈多的市场主体投入巨资收集、整理和挖掘信息。如果任由网络爬虫任意使用他人通过巨大投入获取的数据资源,将不利于鼓励商业投入、产业创新和诚实经营,甚至可能直接违背了数据来源用户的意愿和知情权,最终势必损害 健康 的竞争机制。

随着 社会 经济的快速发展,数据的价值日益凸显,已然成为企业 科技 创新的必备要素。但企业通过技术手段获取数据时,数据抓取技术的应用行为是否合理合法,是一个值得深思的问题。

近年来,网络爬虫“爬取数据”成为热词,相关司法案例不断出现。据不完全统计,近些年涉及网络爬虫的司法案件达十余起,其中既包括民事案件,还包括刑事案件。这类案例甚至还有愈演愈烈之势。

在近日于上海举行的长三角数据合规论坛(第三期)暨数据爬虫的法律规制研讨会上,上海市人民检察院研究室副主任陈超然透露,检察机关正在积极推动企业合规改革试点工作,数据合规正是其中重点。“目前爬虫爬取数据案件非常普遍,当网络平台或者个人通过技术手段抓取别的平台数据时,这种行为是否合法,平台数据主体是谁,归谁使用,值得深入研讨。”

杭州长三角大数据研究院副院长郭兵认为,数据爬虫作为中立性的技术,已在互联网产业领域得到广泛应用。需要注意的是,如果爬虫技术不当应用,会对其他竞争者的合法权益造成损害,甚至涉嫌违法或者犯罪,也将对产业的 健康 发展产生非常大的负面影响。

从技术角度看,爬虫是通过程序去模拟人类上网或者浏览网页、App行为,让其高效地在网上抓取爬虫制造者所需要的信息。

欧莱雅中国数字化负责人刘煜晨说,大多数网站拒绝爬虫访问,其中的原因既包括商业利益考量,也包括自身网站运营安全的考量。除了爬虫可能爬到网站不愿被爬取的数据以外,网站经营者往往还会担心爬虫干扰网站正常运营。

而非正规爬虫自动持续且高频地对被爬取方进行访问,服务器负载飙升,也会给服务器带来“难以承受”之重:应对经验不足的网站,尤其是中小网站可能会面临网站打不开、网页加载极其缓慢、有时甚至直接瘫痪的情况。

新浪集团诉讼总监张喆说,无论是爬虫还是实现其他目的的技术,就其本身而言,都是中立的,但爬虫技术的应用不是中立的,技术应用都带有应用者的目的。这时候不应该评价技术原理,而是需要评价技术用来干什么,这一行为手段是否具有正当性。

提及网络爬虫,robots协议是绕不开的话题。robots协议(也称爬虫协议)的全称是“网络爬虫排除标准”,网站通过robots协议明确警示搜索引擎哪些页面可以爬取,哪些页面不能爬取。该协议也被行业称为搜索领域的“君子协定”。

刘煜晨说,当网络爬虫访问一个网站,robots协议像立在自己房间门口的一个牌子,告诉外来者谁可以过来,谁不可以过来。但是,这只是一个君子协议,只能起到告示作用,起不到技术防范作用。

实践中,恶意爬虫爬取时不遵守网站的robots协议,并可能爬取到不该爬的数据,这种情形并非孤例。小红书法务负责人曾翔说,恶意爬虫案例经常发生在内容平台和电商平台。在内容上被爬取的更多是视频、、文字、网红互动数据、用户行为等,在电商领域则多为商家信息和商品信息。

“内容平台一般约定了相关内容知识产权归发布者或者发布者和平台共同所有,这些爬虫没有签订协议就获得用户授权,涉嫌对知识产权人权利的侵犯。”曾翔说。

或应明确网站权利

这就涉及到数据的权属及是否能开放的问题。

上海市浦东区人民法院知识产权庭法官徐弘韬认为,数据是内容产业的核心竞争资源,内容平台经过汇总分析处理后的数据往往具有极高的经济价值。

“如果要求内容平台经营者将其核心竞争资源向竞争对手无限开放,不仅有违‘互联互通’精神的实质,也不利于优质内容的不断更迭和互联网产业的持续发展。”徐弘韬说。

恶意爬虫爬取数据案件频发的背后,是数据的价值增加,以数据为核心的市场竞争愈发激烈。

华东政法大学教授高富平说,进入大数据时代,数据价值再次凸显,现在的爬虫技术已经从原来的网页爬虫进入到底层数据的爬取。数据爬虫问题会变得越来越严重。

在大数据时代的背景下,愈来愈多的市场主体投入巨资收集、整理和挖掘信息,业内人士对此表示担忧:如果任由网络爬虫任意使用或利用他人通过巨大投入所获取的数据资源,将不利于鼓励商业投入、产业创新和诚实经营,甚至可能直接违背了数据来源用户的意愿和知情权,最终势必损害 健康 的竞争机制。

高富平认为,如果网站合法积累数据资源,那么这些数据资源就应该属于网站的资产。“允许数据生产者、控制者基于商业目的开放数据是有好处的,通过许可使用、交换交易等方式,可以让更多人享用数据服务。期待在未来确认数据所有合法生产者对数据的控制权、使用权。”

有序流转同等重要

目前,网站虽然可以去指定相应策略或技术手段,防止爬虫抓取数据,但爬虫也有更多技术手段来反制这种反爬策略。

刘煜晨说,反爬和爬取的技术一直在迭代,在技术领域,没有爬不了的网站和App,只有愿不愿意爬和多难爬的问题。

据了解,现实中恶意网络爬虫制造者抗辩时,往往将robots协议限制爬取与数据流转联系起来。徐弘韬认为,在“互联互通”的语境下,“有序”和“流转”同等重要、缺一不可,需排除假借“互联互通”妨碍公平竞争、危害用户数据安全的行为。

“对于非搜索引擎爬虫的正当性判别,要考虑是否足以保障用户数据的安全性。包括身份数据、行为数据等在内的用户数据,从属性来讲不仅仅是经营者的竞争资源,同样具有用户的个人隐私属性,而此类数据的集合更涉及 社会 公共利益。”徐弘韬说。

据了解,近年来有关数据安全的法律规范正在不断完善中。数据安全法作为数据安全的基本法,承载着解决我国数据安全核心制度框架的重要任务。此外,还有2019年通过的密码法,工信部拟出台《工业和信息领域数据安全管理办法(试行)》等,一些地方如深圳、上海等也在 探索 制定数据管理相关规范。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何禁止网络爬虫频繁爬自己网站

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情