网站与网络爬虫(Spider或Robot)

使用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文件,该文件内容有点不同:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
The requested URL /robots.txt was not found on this server.<P>
</BODY></HTML>

因为这个目录应该是目录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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值