网络爬虫攻防内幕

点赞:4840 浏览:18527 近期更新时间:2024-03-20 作者:网友分享原创网站原创

2012年的中国互联网注定是个多事之秋,发生了CSDN丢失、3B大战及方舟子质疑360浏览器等诸多的事件.这些事件大多与网络搜索相关,另外一个共同的特点是:网民的隐私被置于危险之中,而这些危险并非我们没有保护好自己的电脑,而是因为我们的信息被网络怎么写作商搜集到怎么写作器上所致.我们的隐私信息是如何被收集的?这些信息又是如何被泄露的?让我们看看其中的内幕.


Robots协议引发的大战

8月16日,360搜索上线,与百度展开正面竞争,被业内称之为“3B大战”.在这场大战中,一个关于Robots协议的技术性话题浮出水面,百度指责:360搜索不顾Robots协议肆意抓取百度数据,是一种不遵守互联网基本协议的行为,对全体网民的隐私和安全都会造成威胁.360则回应:百度是在滥用Robots协议,阻碍360进入搜索市场.暂且不论两家公司的是是非非,让我们先来了解一下,什么是Robots协议?为什么会威胁网民的隐私?

我们在用搜索引擎查找资料时,不少人以为是在网络上实时搜索,这其实是一个检测像,我们实际是在搜索引擎怎么写作商的数据库中搜索.当搜索出结果后,点击链接,此时打开的才是真正的网上数据.那么,搜索引擎数据库中的数据又是怎么来的呢?每家搜索引擎,都会有一种爬虫程序(Spider),也称作机器人(Robot),它们能自动采集互联网上的网页相关信息,并存储到数据库中.

网络爬虫攻防内幕参考属性评定
有关论文范文主题研究: 爬虫相关论文范文 大学生适用: 在职研究生论文、学术论文
相关参考文献下载数量: 43 写作解决问题: 写作技巧
毕业论文开题报告: 文献综述、论文总结 职称论文适用: 杂志投稿、中级职称
所属大学生专业类别: 写作技巧 论文题目推荐度: 最新题目

大多数网站,都会希望网络爬虫来采集自己网站的信息,这样可增加被网民搜索到的概率.但也有部分网站,出于信息垄断或隐私安全等考虑,却并不希望被搜索引擎采集到数据.不过更多的网站,它们希望网站的一部分内容被采集,而另一部分敏感内容则希望能保护起来.针对这些情况,Robots协议应运而生.

Robots协议的实体就是一个robots.txt的文本文件,存放在网站根目录下,它里面包含了一些声明内容,用来告诉搜索引擎的爬虫程序,此网站中的内容哪些可以抓取哪些不可以抓取.我们可以打开http://.google./robots.txt,看看实际的Robots协议文件是什么样子.

可以看到,robots.txt中有大量的Disallow(不允许)及Allow(允许)语句,每个语句后面标明了具体的文件或文件夹.第一条语句“User—agent:*”,表明此网站的协议适用所有类型的网络爬虫.也有仅针对某个特殊爬虫的,比如“User—agent:Googlebot”则表示仅针对谷歌搜索.

搜索引擎的爬虫程序,首先会读取网站的robots.txt中的声明,再确定抓取信息的权限.这就好比去到别人家里,“需要先敲门,得到许可以后才能进入客厅.除非有主人的进一步许可和邀请,否则你不能擅自进入内室,或者在别人家里四处溜达.”

网络爬虫是这样抓走网页的

Robots协议是国际互联网上网站间通行的道德规范,但它并不是命令,需要搜索引擎自觉遵守.遇到不自觉的信息采集者,完全可以绕过它采集任意数据,包括网站后台数据和等,这就构成了很大的隐私威胁.这里不妨了解一下网络爬虫的工作原理.

网络爬虫(也叫网络蜘蛛、网络机器人等,谷歌称之为漫游器),实际就是一种能自动抓取网页的程序.对此程序大家应该不会陌生,宽带之前的窄带年代特别流行的离线浏览器(下载整个网站以便离线的时候也能浏览),本质上就是一种网络爬虫程序.

网络上的所有文件,都会有一个独一无二的访问地址,即URL(统一资源定位符),也就是平常我们说的或链接.网络爬虫从一个初始的网页URL开始(即所谓的种子),在抓取当前网页的过程中,不断抽取出网页中包含的其他URL,放入下一步要继续抓取的网页队列,如此反复,从而实现从一个页面到另一个页面的自动爬行,漫游因特网,为搜索引擎尽可能多地搜集数据.

原理说起来简单,不过技术实现异常复杂,比如对网站结构的分析,如何识别链接,深度优先还是广度优先,海量抓取效率涉及的多线程并发,定期更新等等问题.

网站如何赶走讨厌的爬虫

从上面的分析可以看出,一方面,搜索引擎要抓取互联网上所有的网页几乎是不可能的,一是抓取技术瓶颈,另外数据存储和处理也是很大问题.但是另一方面,许多网页上看不到的后台文件,比如用户的账户信息及隐私数据等,完全有可能被网络爬虫神不知鬼不觉地抓取.而这些是不可能通过一个Robots协议文件就能阻止的.

我们的账户信息等隐私数据是怎么跑到网上的?有很多途径,比如,你在网站注册时填写的信息将会被网站保存,你发送邮件时E—mail也会游历多家网络怎么写作器,你浏览网站时网站通过Cookies收集到本机的信息,等等.而存有我们信息的网站数据,完全有可能被网络爬虫所提取并发布到网络上,我们此时的隐私安全,只能看所在网站的技术力量了.

作为网站,完全可以从技术上屏蔽网络爬虫的提取.首先要找出爬虫,识别出哪些是正常的访问哪些是爬虫的访问.一般来说,爬虫程序发出的网络(HTTP)请求,其中的UserAgent字段包含它所使用的操作系统、CPU类型、浏览器(现在你对网站能识别你所用浏览器的事不奇怪了吧,原来信息藏在这里)等信息.爬虫的UserAgent字段一般与浏览器有所不同,比如Google爬虫的UserAgent字段中会有Googlebot字符串,百度搜索引擎爬虫有Baiduspider字符串等.

有些网络爬虫,则会在HTTP请求的UserAgent字段中进行伪装,刻意伪装成浏览器的访问.不过,爬虫的访问一般有一定的规律性(并且高发),而浏览器的访问随机性高一些,通过访问频率的统计,也能很容易识别出真正的爬虫程序.

识别出爬虫程序之后,对于那些你想屏蔽的爬虫,只要在怎么写作器软件中设置通过UserAgent字段进行访问过滤,就可以有效赶走大部分爬虫的访问了.

网络爬虫软件

网上可以找到许多网络爬虫软件,有开源的,也有商业的,用户可以根据自己的需要选择.比如MetaSeeker软件工具包,也采用了网络爬虫的理念,其中DataScraper主要承担了网络爬虫的职责.普通的网络爬虫从一个页面开始,沿着页面上所有的链接爬行到尽可能多的页面上(或者用户设定爬行深度),在爬行的同时,将爬行到网页的内容及其目录结构存储下来.而MetaSeeker在完成一般网络爬虫的任务之余,还具有一定的语义分析功能,能更精确地筛选目标.MetaSeeker提供免费版和收费版,详见http://.gooseeker./.