robots.txt文件十分重要!搜索引擎蜘蛛爬到网站首先访问的就是robots.txt文件,robots是搜索引擎的一个协议,告诉蜘蛛哪些该抓那些不能抓。本文提供robots对照表,小白也可以自己写robots.txt文件。
robots.txt文件
robots规则说明:
*代表所有的意思
User-agent
爬虫抓取时会声明自己的身份,这就是User-agent,如果这个规则适用于所有搜索引擎的话,写法:User-agent:* 如果单独适用于百度的话User-agent:Baiduspider
(附一些搜索引擎的名字:百度Baiduspider|谷歌Googlebot|360蜘蛛:360Spider|SOSO蜘蛛:Sosospider|雅虎蜘蛛:Yahoo!|有道蜘蛛:YoudaoBot|搜狗蜘蛛:Sogou News Spider|MSN蜘蛛:msnbot/msnbot-media|必应蜘蛛:bingbot/compatible|一搜蜘蛛:YisouSpider|Alexa蜘蛛:ia_archiver|宜sou蜘蛛:EasouSpider|即刻蜘蛛:JikeSpider|一淘网蜘蛛:EtaoSpider)
DisallowDisallow 列出的是要禁止抓取的的网页和规则,后面用/代表层次关系
Disallow:/(代表着禁止抓取网站所有内容)
Disallow:/abc(禁止抓取abc及其层次下的内容)
Disallow:/abc/(禁止抓取abc层次下的内容,但是允许抓abc)
Disallow:/*.png(禁止抓取png的图片,其他格式的也这样写比如禁止抓网站中的PPT后缀文件是Disallow:/*.PPT)
Disallow:/abc/*.png(禁止访问abc层次下的PNG图片,其他格式也是)
Disallow:/*?*(屏蔽站内所有动态URL,因为动态地址都带?所有可以用这种形式,其他的字符也可以)
Disallow:/abc/*?*(只屏蔽abc层次下的动态地址)
Disallow:/*?/(屏蔽动态层次下的内容,比如有些文章或栏目是网址/?14125这样URL,这样可以让抓取文章,也可以屏蔽后面内容)
Disallow:/abc/*?/(屏蔽abc栏目下的动态层次下的内容)
其他的按照这个思路灵活使用就行了
Allow
Allow代表允许访问抓取的意思
Allow一定放在disallow的前面才能不受disallow的影响,比如禁止所有动态后,想要排除一个栏目,写法如下:
Allow:/abc
disallow:/*?*
其他的写法参考disallow的逻辑
sitemap
这个只用于告诉蜘蛛网站地图在哪
sitemap:网址/sitemap.xml
Crawl-delay
控制抓取频次,一般有些搜索蜘蛛频繁抓取网站,会对服务器造成很大的负担,这个就是用来控制抓取频次的
User-agent:360Spider
Crawl-delay:10
这句是说,360你抓的太频繁,你抓过之后10秒之后才能下一次抓取
还有就是不让显示快照:
在你不想展示快照页面的head标签中加入 meta name=“robots” content=“noarchive”(禁止所有搜索引擎产生快照)
在你不想展示某个搜索引擎出现快照页面的head标签中加入 meta name=“360Spider” content=“noarchive”(禁止360产生快照,name后面的换成蜘蛛名字即可)