五一最后一天,跟着了魔似的,一门心思宅在寝室整博客。好久没有现在这样的劲头了,跟去年天天在公司加班到很晚写Qt程序有得一拼。收获很多,页面基本汉化完毕,加了很多实用的插件,最关键的是优化了SEO,希望谷歌百度大哥能买我的帐吧。
以前就很关注网络爬虫这玩意儿,总觉得这里面技术含量比较高,对那些做网络爬虫的伙计尤为敬佩。SEO要做的就是帮我们勤劳的小爬虫指路,网站里一大堆文件,为了让小爬虫尽快找到有价值的网页信息,我们必须把网站目录下无关的文件告诉小爬虫,可是小爬虫不懂俺们人类的语言,自然得有一套规范的协议(小爬虫世界的语言)跟它们交流,这种语言便是robots语法,它依附于robots.txt文件。
robots.txt语法规则
最简单的 robots.txt 语法使用两条规则:
User-Agent: 后面为搜索机器人的名称,后面如果是*,则泛指所有的搜索机器人
Disallow: 限制搜索引擎不能访问网站中的哪些部分,Disallow后可以写目录名,文件扩展名,特定的程序文件结构。
robots.txt语法示例
让所有种类的小爬虫访问所有文件(”*”表示所有的意思)
User-agent: *
不允许小爬虫访问所有文件(‘“/”表示跟目录)
Disallow: /
禁止所有小爬虫访问特定目录:
User-agent: *
Disallow: /public/
Disallow: /images/
Disallow: /temp/
Disallow: /include/
禁止特定搜索引擎爬虫访问特定目录(这里我们以百度爬虫为例说明)
User-agent: Baiduspider
Disallow: /test/
上面的robots.txt语法示例的意思是禁止百度爬虫访问根目录下的test目录
仅禁止Baiduspider抓取.jpg格式图片的robots.txt语法
User-agent: Baiduspider
Disallow: .jpg$
Disallow: /wp- 不允许小爬虫抓取和索引wp-开头的文件及目录,如wp-login.php,wp-admin目录等均被阻止;
Allow: /wp-content/uploads/ 因为在上一条将wp-content目录屏蔽了,这样Google图片搜索和百度就无法访问放在/wp-content/uploads/目录下的图片,为了能使Google图片搜索收录图片等附件,将这个目录设置为Allow;
Disallow: /? 禁止小爬虫索引以?开头的网址,如单独文章页面的动态网址http://fcpplive.com/?p=1。这一条比较厉害,包括了WordPress博客的大部分动态网址,相当于:
Disallow: /?p= 单独文章页面 Disallow: /?cat= 文章分类页面 Disallow: /?tag= 文章标签页面 Disallow: /?m= 文章按月归档 Disallow: /?r= 文章评论链接跳转地址 Disallow: /?s= 文章站内搜索结果页面 Disallow: /?paged= 固定页面 Disallow: /?feed= 博客订阅feed Disallow: /?* 其他动态页面
当然你也可以按照上面这样一条一条来写,如果用Disallow: /?
,又想不禁止其中的某个的时候,可以再加个Allow,如Allow: /?m=
各种小爬虫的大名
1. Google爬虫: Googlebot
2. 百度(Baidu)爬虫:Baiduspider
3. 雅虎(Yahoo)爬虫:Yahoo Slurp
4. 有道(Yodao)爬虫:YodaoBot
5. 搜狗(sogou)爬虫:sogou spider
6.微软:(Microsoft)Msnbot
除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。