首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员
您的位置:Java->网站与网络爬虫(Spider或Robot)

网站与网络爬虫(Spider或Robot)2008-04-29 来自:villa123  [收藏到我的网摘]

使用Heritrix(Version:1.12.1)做了一个测试,原来并不是任何网站都可以被网络爬虫抓取到,其实本来就应该是这样,如果一些恶意爬虫没有规则地对网站进行抓取,势必增加网站的负荷。

而且,对于一个网站来说,可以通过一定的措施来设置网站接受爬虫的范围。一些应该受到保护的资源是不应该被网络爬虫抓取到的,管理员可以在网站中进行设置,运行哪些爬虫,限制哪些爬虫。

本来想拿我的百度空间(http://hi.baidu.com/shirdrn)作为种子页面,但是结果是令人失望的,根本就没有抓取到任何我想要的东西,比如我的文章、我的图片。

在我设置的Heritrix-1.12.1\jobs\Hi.Baidu-20080425073113453\mirror目录下面就是目录:\hi.baidu.com\。打开这个文件夹,下面只有一个robots.txt文件,内容如下:

User-agent: Baiduspider
Disallow:
User-agent: Googlebot
Disallow:
User-agent:
Disallow: /
User-agent: MSNBot
Allow: /

这个robots.txt文件就是百度(www.baidu.com)网站管理员设置的爬虫规则。并不是任何User-agent都可以对百度进行抓取。通过上面robots.txt文件的内容,我们可以了解到:

百度的网络爬虫叫做“Baiduspider”,百度当然运行百度网络蜘蛛进行抓取网站内容了,上面“Disallow:”就表示对hi.baidu.com目录下的内容,没有任何限制;

百度允许Google的网络爬虫访问百度网站,Google的网络爬虫叫做“Googlebot”,不限制Google的网络爬虫抓取hi.baidu.com目录下的内容;

百度还允许MSN(http://www.msn.com/)的网络爬虫对百度网站进行访问,“Allow: /”说明了可以抓取hi.baidu.com下面的内容;

这么说,百度空间拒绝其它的User-agent了,下面两行:

User-agent:
Disallow: /

其中“Disallow: /”表示对没有指定User-agent的网络爬虫进行限制,不允许抓取hi.baidu.com下面的内容。

如果使用Heritrix时,新建抓取任务时,种子页面选择www.baidu.com,则在目录Heritrix-1.12.1\jobs\Baidu-20080425072302515\mirror\www.baidu.com下面也存在一个robots.txt文件,内容是这样的:

User-agent: Baiduspider
Disallow: /baidu

User-agent: *
Disallow: /shifen/dqzd.html

每个站点只允许设置一个robots.txt文件,而且该文件不许用小写,存放在网站的根目录之下。在使用Heritrix抓取的过程中,种子页面选择www.baidu.com,在目录Heritrix-1.12.1\jobs\Baidu-20080425072302515\mirror下面存在一个和目录www.baidu.com并列的目录/utk.baidu.com/,该目录下面仍然能看到一个robots.txt文件,该文件内容有点不同:



404 Not Found

Not Found


The requested URL /robots.txt was not found on this server.




因为这个目录应该是目录www.baidu.com的子目录,自然找不到管理员实际设置的robots.txt文件,但它是在首页中的链接,与首页同级,Heritrix认为它是一个网站的根目录。

我也测试了一下Google网站,在目录Heritrix-1.12.1\jobs\Google-20080425072048531\mirror\www.google.com下面的robots.txt文件内容如下:

User-agent: *
Allow: /searchhistory/
Disallow: /news?output=xhtml&
Allow: /news?output=xhtml
Disallow: /search
Disallow: /groups
Disallow: /images
Disallow: /catalogs
Disallow: /catalogues
Disallow: /news
Disallow: /nwshp
Disallow: /?
Disallow: /addurl/image?
Disallow: /pagead/
Disallow: /relpage/
Disallow: /relcontent
Disallow: /sorry/
Disallow: /imgres
Disallow: /keyword/
Disallow: /u/
Disallow: /univ/
Disallow: /cobrand
Disallow: /custom
Disallow: /advanced_group_search
Disallow: /advanced_search
Disallow: /googlesite
Disallow: /preferences
Disallow: /setprefs
Disallow: /swr
Disallow: /url
Disallow: /default
Disallow: /m?
Disallow: /m/lcb
Disallow: /m/search?
Disallow: /wml?
Disallow: /wml/search?
Disallow: /xhtml?
Disallow: /xhtml/search?
Disallow: /xml?
Disallow: /imode?
Disallow: /imode/search?
Disallow: /jsky?
Disallow: /jsky/search?
Disallow: /pda?
Disallow: /pda/search?
Disallow: /sprint_xhtml
Disallow: /sprint_wml
Disallow: /pqa
Disallow: /palm
Disallow: /gwt/
Disallow: /purchases
Disallow: /hws
Disallow: /bsd?
Disallow: /linux?
Disallow: /mac?
Disallow: /microsoft?
Disallow: /unclesam?
Disallow: /answers/search?q=
Disallow: /local?
Disallow: /local_url
Disallow: /froogle?
Disallow: /products?
Disallow: /froogle_
Disallow: /product_
Disallow: /products_
Disallow: /print
Disallow: /books
Disallow: /patents?
Disallow: /scholar?
Disallow: /complete
Disallow: /sponsoredlinks
Disallow: /videosearch?
Disallow: /videopreview?
Disallow: /videoprograminfo?
Disallow: /maps?
Disallow: /mapstt?
Disallow: /mapslt?
Disallow: /maps/stk/
Disallow: /mapabcpoi?
Disallow: /translate?
Disallow: /ie?
Disallow: /sms/demo?
Disallow: /katrina?
Disallow: /blogsearch?
Disallow: /blogsearch/
Disallow: /blogsearch_feeds
Disallow: /advanced_blog_search
Disallow: /reader/
Disallow: /uds/
Disallow: /chart?
Disallow: /transit?
Disallow: /mbd?
Disallow: /extern_js/
Disallow: /calendar/feeds/
Disallow: /calendar/ical/
Disallow: /cl2/feeds/
Disallow: /cl2/ical/
Disallow: /coop/directory
Disallow: /coop/manage
Disallow: /trends?
Disallow: /trends/music?
Disallow: /notebook/search?
Disallow: /music
Disallow: /browsersync
Disallow: /call
Disallow: /archivesearch?
Disallow: /archivesearch/url
Disallow: /archivesearch/advanced_search
Disallow: /base/search?
Disallow: /base/reportbadoffer
Disallow: /base/s2
Disallow: /urchin_test/
Disallow: /movies?
Disallow: /codesearch?
Disallow: /codesearch/feeds/search?
Disallow: /wapsearch?
Disallow: /safebrowsing
Disallow: /reviews/search?
Disallow: /orkut/albums
Disallow: /jsapi
Disallow: /views?
Disallow: /c/
Disallow: /cbk
Disallow: /recharge/dashboard/car
Disallow: /recharge/dashboard/static/
Disallow: /translate_c?
Disallow: /s2
Disallow: /transconsole/portal/
Disallow: /gcc/
Disallow: /aclk
Disallow: /cse?
Disallow: /tbproxy/
Disallow: /MerchantSearchBeta/

Google网站设置得比较详细。

从上面的robots.txt文件中设置,可以看出,这对网络爬虫进行访问的设置是非常重要的,这时网站管理员应该做的的任务。robots.txt文件中设置的一般来说是限制的较多。下面是在robots.txt文件中进行设置的规则:

■ 拒绝网络爬虫对整个网站的抓取

User-agent: *
Disallow: /

■ 允许网络爬虫对整个网站的抓取

User-agent: *
Disallow:

■ 拒绝网络爬虫对网站指定的目录抓取

User-agent: *
Disallow: /importants/
Disallow: /website/test/
……

■ 允许某些搜索引擎的网络爬虫对网站抓取

User-agent: Baiduspider
Disallow:
User-agent: Googlebot
Disallow:
User-agent: MSNBot
Allow: /

■ 限制网络爬虫对网站中页面的抓取

User-agent: *
Disallow: /security/subs/securityitems.jsp
Disallow: /admin/admin.htm

推荐人评论

一些应该受到保护的资源是不应该被网络爬虫抓取到的,管理员可以在网站中进行设置,运行哪些爬虫,限制哪些爬虫。

用户评论

正在载入评论列表...

是谁推荐了此篇文章

专家头像陈丽辉CSDN频道编辑,联系方式chenlh@csdn.net
个人blog发送信息
陈丽辉推荐的其他文章

赞助商精华文章

热点新闻

热点评论

    精彩视频

    精彩专题

    资源下载

      网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京世纪乐知数码科技有限公司  版权所有  京 ICP 证 020026 号
    Copyright © 2000-2006, CSDN.NET, All Rights Reserved