wrjc1hod 发表于 2024-8-25 22:03:31

什么样的爬虫才是好爬虫:Robots协议探究


    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">干货</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">观点</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">案例</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">新闻</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">咱们</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="http://mmbiz.qpic.cn/mmbiz_jpg/3NqfZwCmTWEGYBFX8FWSfiasvNdjSmIuzb22xodLOCPibd37snPuicxplP8Uku5fQr6Hibuiabymb7nrJVcZ46OEzDw/640?wx_fmt=jpeg&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">网站的管理者们<span style="color: black;">一般</span>会有<span style="color: black;">这般</span>一种<span style="color: black;">心理</span>:一方面期待百度、Google<span style="color: black;">这般</span>的搜索引擎来抓取网站的内容,另一方面又很厌恶其他来路不明的网络爬虫抓取自己的信息。正是<span style="color: black;">由于</span><span style="color: black;">这般</span>,才有“好爬虫”、“坏爬虫”<span style="color: black;">这般</span>的说法。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">说到</span>“好爬虫”,就不得不提网络爬虫与web之间的<span style="color: black;">拜访</span>授权协议——Robots协议了。</p>
    <h2 style="color: black; text-align: left; margin-bottom: 10px;">
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Robots协议的定义</p>
    </h2>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Robots协议(<span style="color: black;">亦</span><span style="color: black;">叫作</span>为爬虫协议、<span style="color: black;">设备</span>人协议等)的全<span style="color: black;">叫作</span>是“网络爬虫排除标准”(Robots Exclusion Protocol),网站<span style="color: black;">经过</span>Robots协议告诉搜索引擎<span style="color: black;">那些</span>页面<span style="color: black;">能够</span>抓取,<span style="color: black;">那些</span>页面<span style="color: black;">不可</span>抓取。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">按照</span>协议,网站管理员<span style="color: black;">能够</span>在网站域名的根目录下放一个robots.txt 文本文件,里面<span style="color: black;">能够</span>指定<span style="color: black;">区别</span>的网络爬虫能<span style="color: black;">拜访</span>的页面和禁止<span style="color: black;">拜访</span>的页面,指定的页面由正则表达式<span style="color: black;">暗示</span>。网络爬虫在采集这个网站之前,<span style="color: black;">首要</span>获取到这个文件,<span style="color: black;">而后</span>解析到其中的规则,<span style="color: black;">而后</span><span style="color: black;">按照</span>规则来采集网站的数据。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">重视</span>,这个协议的存在<span style="color: black;">更加多</span>的是需要网络爬虫去遵守,而起不到防止爬虫的功能。</p>
    <h2 style="color: black; text-align: left; margin-bottom: 10px;">
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">为何</span>需要Robots协议</span></p>
    </h2>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">互联网上的网页是<span style="color: black;">经过</span>超级链接互<span style="color: black;">关联</span>联起来的,从而形<span style="color: black;">成为了</span>网页的网状结构。爬虫的工作方式就像蜘蛛在网上沿着链接爬来爬去,最基本的流程<span style="color: black;">能够</span>简化如下:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">喂给爬虫一堆url,<span style="color: black;">咱们</span><span style="color: black;">叫作</span>之为种子(seeds);</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">爬虫抓取seeds,解析html网页,抽取其中的超级链接;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">爬虫接着抓取这些新<span style="color: black;">发掘</span>的链接指向的网页。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">过程</span>2和<span style="color: black;">过程</span>3循环往复。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">认识</span>了上面的流程就能<span style="color: black;">发掘</span>:对爬虫<span style="color: black;">来讲</span>网站非常被动,<span style="color: black;">仅有</span>老老实实被抓取的份。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">因此</span>,<span style="color: black;">针对</span>网站的管理者<span style="color: black;">来讲</span>,就存在<span style="color: black;">这般</span>的<span style="color: black;">需要</span>:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">某些路径下是个人隐私<span style="color: black;">或</span>网站管理<span style="color: black;">运用</span>,不想被搜索引擎抓取,<span style="color: black;">例如</span>说日本爱情动作片;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">不<span style="color: black;">爱好</span>某个搜索引擎,不愿意被他抓取,最有名的<span style="color: black;">便是</span>之前淘宝不<span style="color: black;">期盼</span>被百度抓取;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">小网站<span style="color: black;">运用</span>的是公用的虚拟主机,流量有限<span style="color: black;">或</span>需要付费,<span style="color: black;">期盼</span>搜索引擎抓的温柔点;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">某些网页是动态生成的,<span style="color: black;">无</span>直接的链接指向,<span style="color: black;">然则</span><span style="color: black;">期盼</span>内容被搜索引擎抓取和索引。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">网站内容的所有者是网站管理员,搜索引擎应该尊重所有者的意愿,为了满足以上等等,就需要<span style="color: black;">供给</span>一种网站和爬虫进行沟通的途径,给网站管理员表达自己意愿的机会。有<span style="color: black;">需要</span>就有供应,robots协议就此诞生。</p>
    <h2 style="color: black; text-align: left; margin-bottom: 10px;">
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">Robots协议的写法</span></p>
    </h2>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">既然网络爬虫在爬取一个网站之前,要先获取到这个文件,<span style="color: black;">而后</span>解析到其中的规则,<span style="color: black;">那样</span>,Robots就必须要有一套通用的语法规则。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">最简单的robots.txt<span style="color: black;">仅有</span>两条规则:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent:指定对<span style="color: black;">那些</span>爬虫生效</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow:指定要屏蔽的网址</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">先说User-agent,<span style="color: black;">爬虫抓取时会声明自己的身份,这<span style="color: black;">便是</span>User-agent,没错,<span style="color: black;">便是</span>http协议里的User-agent。robots.txt利用User-agent来区分各个引擎的爬虫,</span><span style="color: black;"><span style="color: black;">例如</span>说google网页搜索爬虫的User-agent为Googlebot。</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">可能有读者要问了,我怎么<span style="color: black;">晓得</span>爬虫的User-agent是什么?<span style="color: black;">你还<span style="color: black;">能够</span>查<span style="color: black;">关联</span>搜索引擎的资料得到官方的数据,<span style="color: black;">例如</span>说百度的爬虫列表是<span style="color: black;">这般</span>的:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><img src="http://mmbiz.qpic.cn/mmbiz_png/3NqfZwCmTWEGYBFX8FWSfiasvNdjSmIuzpSHOSS4QPibQn2WIwjuKOHOyc6DRD4ndsWgicnZW1HV2zXH3ucWDnd2Q/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">Disallow 行列出的是要拦截的网页,以正斜线 (/) 开头,<span style="color: black;">能够</span>列出特定的网址或模式。<span style="color: black;">要屏蔽<span style="color: black;">全部</span>网站,<span style="color: black;">运用</span>正斜线<span style="color: black;">就可</span>;<span style="color: black;">要屏蔽某一目录以及其中的所有内容,在目录名后添加正斜线;<span style="color: black;">要屏蔽某个<span style="color: black;">详细</span>的网页,就指出这个网页。</span></span></span></span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">下面<span style="color: black;">咱们</span>来看<span style="color: black;">有些</span>Robots的<span style="color: black;">详细</span>写法:</p><span style="color: black;">准许</span>所有的robot<span style="color: black;">拜访</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: *</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">或</span><span style="color: black;">亦</span><span style="color: black;">能够</span>建一个空文件 "/robots.txt" file。</p>禁止爬虫<span style="color: black;">拜访</span>所有目录<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: *</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /</p>禁止爬虫<span style="color: black;">拜访</span>某些目录<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: *</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /a/</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /b/</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /c/</p>禁止某些爬虫<span style="color: black;">拜访</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: BadBot</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /</p>只<span style="color: black;">准许</span>某个爬虫<span style="color: black;">拜访</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: MangCrawler</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: *</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">咱们</span>再来结合两个真实的范例来学习一下。先看这个例子:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: Baiduspider</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: baiduspider</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">这个是淘宝网的Robots协议内容,相信你<span style="color: black;">已然</span>看出来了,淘宝网禁止百度的爬虫<span style="color: black;">拜访</span>。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">再来看一个例子:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: *</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /?*</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /pop/*.html</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">User-agent: EtaoSpider</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Disallow: /</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">这个稍微<span style="color: black;">繁杂</span>点,<span style="color: black;">京东有2个目录不<span style="color: black;">期盼</span>所有的爬虫来抓。<span style="color: black;">同期</span>,京东完全屏蔽了一淘网的蜘蛛(<span style="color: black;">EtaoSpider是一淘网的蜘蛛</span>)。</span></p>
    <h2 style="color: black; text-align: left; margin-bottom: 10px;">
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">Robots协议进阶知识</span></p>
    </h2>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;">sitemap</strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">前面说过爬虫会<span style="color: black;">经过</span>网页内部的链接<span style="color: black;">发掘</span>新的网页。<span style="color: black;">然则</span><span style="color: black;">倘若</span><span style="color: black;">无</span>连接指向的网页怎么办?<span style="color: black;">或</span>用户输入<span style="color: black;">要求</span>生成的动态网页怎么办?能否让网站管理员<span style="color: black;">通告</span>搜索引擎<span style="color: black;">她们</span>网站上有<span style="color: black;">那些</span>可供抓取的网页?这<span style="color: black;">便是</span>sitemap,最简单的 Sitepmap 形式<span style="color: black;">便是</span> XML 文件,在其中列出网站中的网址以及关于<span style="color: black;">每一个</span>网址的其他数据(上次更新的时间、更改的频率以及相<span style="color: black;">针对</span>网站上其他网址的重要程度等等),利用这些信息搜索引擎<span style="color: black;">能够</span>更加智能地抓取网站内容。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">新的问题来了,爬虫怎么<span style="color: black;">晓得</span>这个网站有<span style="color: black;">无</span><span style="color: black;">供给</span>sitemap文件,<span style="color: black;">或</span>说网站管理员生<span style="color: black;">成为了</span>sitemap,(可能是多个文件),爬虫怎么<span style="color: black;">晓得</span>放在哪里呢?</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">因为</span>robots.txt的位置是固定的,于是<span style="color: black;">大众</span>就想到了把sitemap的位置信息放在robots.txt里。这就<span style="color: black;">作为</span>robots.txt里的新成员了。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">节选一段google robots.txt:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Sitemap: http://www.gstatic.com/culturalinstitute/sitemaps/www_google_com_culturalinstitute/sitemap-index.xml</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Sitemap: http://www.google.com/hostednews/sitemap_index.xml</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">插一句,<span style="color: black;">思虑</span>到一个网站的网页众多,sitemap人工<span style="color: black;">守护</span>不太<span style="color: black;">可靠</span>,google<span style="color: black;">供给</span>了工具<span style="color: black;">能够</span>自动生成sitemap。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;">meta tag</strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">其实严格<span style="color: black;">来讲</span>这部分内容不属于robots.txt。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">robots.txt的初衷是为了让网站管理员管理<span style="color: black;">能够</span>出<span style="color: black;">此刻</span>搜索引擎里的网站内容。<span style="color: black;">然则</span>,即使<span style="color: black;">运用</span> robots.txt 文件让爬虫<span style="color: black;">没法</span>抓取这些内容,搜索引擎<span style="color: black;">亦</span><span style="color: black;">能够</span><span style="color: black;">经过</span>其他方式找到这些网页并将它添加到索引中。例如,其他网站仍可能链接到该网站。<span style="color: black;">因此呢</span>,网页网址及其他公开的信息(如指向<span style="color: black;">关联</span>网站的链接中的定位文字或开放式目录管理系统中的标题)有可能会出<span style="color: black;">此刻</span>引擎的搜索结果中。<span style="color: black;">倘若</span>想彻底对搜索引擎隐身那咋整呢?答案是:元标记,即meta tag。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">例如</span>要完全阻止一个网页的内容列在搜索引擎索引中(即使有其他网站链接到此网页),可<span style="color: black;">运用</span> noindex 元标记。只要搜索引擎查看该网页,便会看到 noindex 元标记并阻止该网页<span style="color: black;">表示</span>在索引中,<span style="color: black;">这儿</span><span style="color: black;">重视</span>noindex元标记<span style="color: black;">供给</span>的是一种逐页<span style="color: black;">掌控</span>对网站的<span style="color: black;">拜访</span>的方式。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">要防止所有搜索引擎将网站中的网页编入索引,在网页的<span style="color: black;">部分添加:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">&lt;meta name="robots" content="noindex"&gt;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">这儿</span>的name取值<span style="color: black;">能够</span>设置为某个搜索引擎的User-agent从而指定屏蔽某一个搜索引擎。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">除了noindex外,还有其他元标记,<span style="color: black;">例如</span>说nofollow,禁止爬虫从此页面中跟踪链接。<span style="color: black;">仔细</span>信息<span style="color: black;">能够</span>参考Google支持的元标记,<span style="color: black;">这儿</span>提一句:noindex和nofollow在HTML 4.01规范里有描述,<span style="color: black;">然则</span>其他tag的在<span style="color: black;">区别</span>引擎支持到什么程度各不相同,还请读者<span style="color: black;">自动</span>查阅各个引擎的说明文档。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Crawl-delay</strong></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">除了<span style="color: black;">掌控</span><span style="color: black;">那些</span><span style="color: black;">能够</span>抓<span style="color: black;">那些</span><span style="color: black;">不可</span>抓之外,robots.txt还<span style="color: black;">能够</span>用来<span style="color: black;">掌控</span>爬虫抓取的速率。<span style="color: black;">怎样</span>做到的呢?<span style="color: black;">经过</span>设置爬虫在两次抓取之间等待的秒数。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Crawl-delay:5</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">暗示</span><span style="color: black;">这次</span>抓取后下一次抓取前需要等待5秒。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">重视</span>:google<span style="color: black;">已然</span>不支持这种方式了,在webmaster tools里<span style="color: black;">供给</span>了一个功能<span style="color: black;">能够</span>更直观的<span style="color: black;">掌控</span>抓取速率。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">这儿</span>插一句题外话,几年前曾经有一段时间robots.txt还支持<span style="color: black;">繁杂</span>的参数:Visit-time,<span style="color: black;">仅有</span>在visit-time指定的时间段里,爬虫才<span style="color: black;">能够</span><span style="color: black;">拜访</span>;Request-rate: 用来限制URL的读取频率,用于<span style="color: black;">掌控</span><span style="color: black;">区别</span>的时间段采用<span style="color: black;">区别</span>的抓取速率。后来估计支持的人太少,就渐渐的废掉了,<span style="color: black;">日前</span>google和baidu都<span style="color: black;">已然</span>不支持这个规则了,其他小的引擎<span style="color: black;">机构</span>貌似从来都<span style="color: black;">无</span>支持过。</p>
    <h2 style="color: black; text-align: left; margin-bottom: 10px;">
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">防君子不防小人</span></p>
    </h2>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Robots协议不是什么技术壁垒,而只是一种互相尊重的协议,好比私家花园的门口挂着“闲人免进”,尊重者绕道而行,不尊重者依然<span style="color: black;">能够</span>推门而入。<span style="color: black;">日前</span>,Robots协议在<span style="color: black;">实质</span><span style="color: black;">运用</span>中,还存在<span style="color: black;">有些</span>问题。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;">缓存</strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">robots.txt本身<span style="color: black;">亦</span>是需要抓取的,出于效率<span style="color: black;">思虑</span>,<span style="color: black;">通常</span>爬虫不会每次抓取网站网页前都抓一下robots.txt,加上robots.txt更新不频繁,内容需要解析。<span style="color: black;">一般</span>爬虫的做法是先抓取一次,解析后缓存下来,<span style="color: black;">况且</span>是相当长的时间。假设网站管理员更新了robots.txt,修改了某些规则,<span style="color: black;">然则</span>对爬虫<span style="color: black;">来讲</span>并不会立刻生效,<span style="color: black;">仅有</span>当爬虫下次抓取robots.txt之后<span style="color: black;">才可</span>看到最新的内容。尴尬的是,爬虫下次抓取robots.txt的时间并不<span style="color: black;">是由于</span>网站管理员<span style="color: black;">掌控</span>的。当然,有些搜索引擎<span style="color: black;">供给</span>了web 工具<span style="color: black;">能够</span>让网站管理员<span style="color: black;">通告</span>搜索引擎那个url<span style="color: black;">出现</span>了变化,<span style="color: black;">意见</span>重新抓取。<span style="color: black;">重视</span>,此处是<span style="color: black;">意见</span>,即使你<span style="color: black;">通告</span>了搜索引擎,搜索引擎何时抓取仍然是不确定的,只是比完全不<span style="color: black;">通告</span>要好点。至于好多少,那就看搜索引擎的良心和技术能力了。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;">ignore</strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">不知是无意还是有意,反正有些爬虫不太遵守<span style="color: black;">或</span>完全忽略robots.txt,不排除<span style="color: black;">研发</span>人员能力的问题,<span style="color: black;">例如</span>说<span style="color: black;">基本</span>不<span style="color: black;">晓得</span>robots.txt。<span style="color: black;">另一</span>,本身robots.txt不是一种强制<span style="color: black;">办法</span>,<span style="color: black;">倘若</span>网站有数据需要保密,必需采取技术<span style="color: black;">办法</span>,<span style="color: black;">例如</span>说:用户验证,加密,ip拦截,<span style="color: black;">拜访</span>频率<span style="color: black;">掌控</span>等。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;">恶意爬虫</strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">在互联网世界中,<span style="color: black;">每日</span>都有<span style="color: black;">不可胜数</span>的爬虫在日夜不息地爬取数据,其中恶意爬虫的数量<span style="color: black;">乃至</span>高于非恶意爬虫。</span>遵守Robots协议的爬虫才是好爬虫,<span style="color: black;">然则</span>并不是<span style="color: black;">每一个</span>爬虫都会主动遵守Robots协议。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">恶意爬虫<span style="color: black;">能够</span>带来<span style="color: black;">非常多</span>潜在威胁,<span style="color: black;">例如</span>电商网站的商品信息被爬取可能会被竞争对手利用,<span style="color: black;">太多</span>的爬虫还会占用带宽资源、<span style="color: black;">乃至</span><span style="color: black;">引起</span>网站宕机。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">反恶意爬虫是一件漫长而艰巨的任务,<span style="color: black;">倘若</span>依靠<span style="color: black;">自己</span>实力难以<span style="color: black;">处理</span>,<span style="color: black;">能够</span>借助岂安科技的业务<span style="color: black;">危害</span>分析平台 WARDEN 来反恶意爬虫,<span style="color: black;">按照</span>自己的<span style="color: black;">需要</span>来定制功能。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">你可能会<span style="color: black;">爱好</span>:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><a style="color: black;">安安小课堂:网络爬虫</a></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><a style="color: black;">市面上<span style="color: black;">平常</span>的开源爬虫对比与小型采访</a></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><a style="color: black;">手把手教你用Python爬虫煎蛋妹纸海量<span style="color: black;">照片</span></a></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><a style="color: black;">爬虫VS反爬虫的蝴蝶效应</a></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="http://mmbiz.qpic.cn/mmbiz/3NqfZwCmTWF7V9xicxLMU5SCZIicZhogcpcdDbpKEIr3uoKbA1o2Kic9ATWkT4uUiaickOWvNHt4RgufHfEaet4U32g/640?wx_fmt=jpeg&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>




听听海 发表于 2024-8-28 18:16:13

论坛的成功是建立在我们诚恳、务实、高效、创新和团结合作基础上,我们要把这种精神传递下去。
页: [1]
查看完整版本: 什么样的爬虫才是好爬虫:Robots协议探究