爬虫搜索与隐私

 曾几何时,人们在陌生城市问路还是“警察叔叔,XXX怎么走”,现在却成了“土货,拿爱疯手机用谷歌soso一下啊!”  可以看出,随着web2.0的时代,搜索引擎成了日常生活中不可或缺的工具之一,连这篇文章里面的有些内容也是通过搜索引擎收集而来。


     搜索引擎的市场前景这么火,做搜索的也就多,国外的谷歌,雅虎等等老牌搜索商且不说,国内的百度,soso,搜狗,网易有道,人民搜索等等也是常见的搜索引擎,更有些中小公司或者学校也有自己开发的搜索引擎。


     标题里的robots.txt,做爬虫的大牛们应该挺熟悉,一个良好,善意的爬虫在爬取索引网页的时候,会首先爬取根目录下的/robots.txt文件,从robots.txt中得知服务器允许你爬取哪些内容,不允许你爬取哪些。


                                                        

  比如一个爬虫想要访问http://www.somesite.com/sample.html时,它会首先访问http://www.somesite.com/robots.txt,得到内容为:


User-agent :*


Disallow:/


  这里User-agent表示后面的限制对指定名字的爬虫生效,如User-agent: Baiduspider 表示只对百度的爬虫生效 ,这里为*表示对所有的爬虫都生效。


  Disallow:/ 表示所有的文件都不能被爬取,像Disallow:/a/表示a目录下的文件不能被爬取,类似的关键字还有Allow,表示哪些目录或文件能被爬虫爬取索引。


  其他还有什么sitemap字段,这个和网站SEO相关,也有单独的书写规范,但是不在本文的讨论范围之内,在http://www.robotstxt.org  可以获得robots.txt的书写规范与注意事项。


  从上可知,该网站是不希望任何爬虫索引它的内容。所以如果在谷歌中搜索site:somesite.com时是得不到任何结果的

下面我们来看一看国内某SNS网站的robots.txt是如何写的:


# Robots.txt file from http://www.马赛克.com


# All robots will spider the domain


User-agent: *


Allow: /


Disallow: /profile.do*


Disallow: /getuser.do*


   这两条disallow,第一条禁止了类似/profile.do?xxxx=xxxx这样的网址被索引到,这个是用户主页,而第二条类似的,是搜索用户页,这两条的意思是,所有的搜索引擎你爬其他的可以,千万不要爬用户的数据啊......看上去没有什么问题,至少对于良好的爬虫来说,是这样。但是安全就像妹子,有时你觉得你得到了她,但是也许就在不经意间你就失去了。


  言归正传,我们来看看该SNS的手机无线页面的robots.txt是咋样的:


# Robots.txt file from http://www.马赛克.com


# All robots will spider the domain


User-agent: *


Disallow:


    可以看到该无线站点的配置是所有的页面都能被爬虫爬取。这个暂且放在一边,我们先来谈谈无线站点的登录态。


    首先,HTTP协议是一个没有状态的协议,现在网站的登录态Seesion大多依靠Cookie实现。


    但是呢,以前的手机浏览器并不是所有的都能够支持Cookie的,那么如何实现登录态的保持和类似保存书签的功能呢?


  人们一般采取的是在URL里面添加某些表示字段来表示用户身份,如在登录后访问网址时带上了?XX=TSYq82hO7UbJOMkXUX4bTA 字段,服务器端再通过取该字段来验证用户身份,而无需要求用户重新登录。


     如果有熟悉搜索引擎的搜索命令的人,结合我上面所说无线登录态和无线站点robots.txt就应该知道我下一步可以干什么了。


     通过谷歌搜索,我们得到了一批带有该字段的网址,然后随便点击一个,我们就得到了她的登录态:



     目前我查看了下该SNS网站无线站点的robots.txt已经更改为disallow:/ 禁止搜索引擎给索引到了,所以各位暂时不用担心自己的账户被别人登录。


     但是该站点的甄别字段有效期特别地长(也许是书签功能的缘故)...所以已经被索引到的内容仍然具有登录态,所以上面搜索到的用户,任何人登录,都能获得她的登录态。


      而像某些无线站点,其使用甄别的有效期不长,因此即使被索引到了,但是有效期一过用户带着有该字段的链接访问,仍然需要用户重新登录

      因此,对于良好的爬虫,我们应该采取的安全策略是:


  首先:禁止某些敏感目录或url被爬虫爬取到,如上面的/profile.do* ,/cgi-bin/,/admin/等等。


  其次,对于无线站点的登录态有效期应根据业务的需要设置,不能过长,有效期一过应要求用户重新登录验证。


     上面的讨论仅限于那些有瑞雪精神的爬虫,对于某些不瑞雪或者是初学者学写的爬虫,根本就不理会robots.txt对访问目录的限制,膝盖中枪的爬虫有比如YoudaoBot, HuaweiSymantecSpider等等,这些爬虫不会爬取robots.txt中的内容,那么我们该怎样做呢。


     一般可以采取在服务器中配置禁止该网段IP访问,如在apache服务器配置文件中加入:


  # deny from Sogou web spider


   Deny from 220.181.125.64/29


   Deny from 220.181.94.192/26


    这样就可以做到既防君子,又防小人的效果,具体IP和行为可以查看服务器log得到,在某些目录访问频繁的IP,很有可能就是爬虫的IP,如果不想让其访问,就可以将该IP封掉。

网络爬虫 百科名片 网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。 目录 概述 爬虫技术研究综述 网页搜索策略 网页分析算法 补充 展开 编辑本段概述   引言   随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:   (1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。   (2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。   (3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。   (4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。   为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(general?purpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。   1 聚焦爬虫工作原理及关键技术概述   网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。   相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:   (1) 对抓取目标的描述或定义;   (2) 对网页或数据的分析与过滤;   (3) 对URL的搜索策略。   抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。   2 抓取目标描述   现有聚焦爬虫对抓取目标的描述可分为基于目标网页特征、基于目标数据模式和基于领域概念3种。?   基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。根据种子样本获取方式可分为:   (1) 预先给定的初始抓取种子样本;   (2) 预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;   (3) 通过用户行为确定的抓取目标样例,分为:   a) 用户浏览过程中显示标注的抓取样本;   b) 通过用户日志挖掘得到访问模式及相关样本。   其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。   现有的聚焦爬虫对抓取目标的描述或定义可以分为基于目标网页特征,基于目标数据模式和基于领域概念三种。   基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。具体的方法根据种子样本的获取方式可以分为:(1)预先给定的初始抓取种子样本;(2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;(3)通过用户行为确定的抓取目标样例。其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值