网络爬虫无处不在,无意中的链接分享就能泄露你的隐私
网络爬虫搜索引擎收集网上信息的主要手段就是网络爬虫(也叫网页蜘蛛、网络机器人)。它是一种“自动化浏览网络”的程序,按照一定的规则,自动抓取互联网信息,比如:网页、各类文档、图片、音频、视频等。搜索引擎通过索引技术组织这些信息,根据用户的查询快速地提供搜索结果。
具体来说,如果把互联网上的网页或网站理解为一个个节点,大量的网页或网站将通过超链接形成网状结构。人们浏览网页时,通过点击网页上的链接,从一个节点跳转到下一个节点,就像是在一张网上行走。网络爬虫模拟了该行为,但是速度更快,跳转的节点更全面,所以被形象地称为网络爬虫或网络蜘蛛。爬取原理需要说明的是,网络爬虫从一些初始网页URL(网页地址)开始抓取网页,在此过程中,不断从当前页面上抽取新的链接用于爬取,循环往复扩充到整个网络,为搜索引擎或大型网络服务商采集数据。网络爬虫的爬行范围和数量巨大,对于爬行速度和存储空间要求较高。同时,由于待刷新的页面很多,所以通常采用并行的方式。首先精心选择一部分网页,以这些网页的链接地址作为种子URL放入待抓取的URL队列中,爬虫从URL队列依次读取每个URL,通过DNS解析转换为对应的IP地址。然后将其和网页相对路径交给网页下载器,网页下载器负责网页内容的下载。一方面下载的内容存储到数据库中,等待后续处理;另一方面该网页的URL添加到已抓取队列(这个队列记载了已经下载过的网页URL,避免重复抓取)。此外,从刚下载的网页中抽取出新的URL,如果该链接没有被抓取过,则添加入待抓取URL队列,在之后的调度中下载对应的网页。这样循环往复,直到待抓取URL队列为空(实际上不会为空,会有其他的条件终止爬取),代表完成了一轮完整的抓取过程。爬虫应用坚持看到这里的宝宝要问了,枯燥的技术结束了吧?到底爬虫还有什么用呢?众所周知,很多电商平台都有自动调价功能,它会依靠爬虫程序扫描同类网站商品的价格,针对性地展开相应的调整,从而取得价格优势,为销量提供保证。其实,自从亚马逊十多年前推出该自动比价模式以来,机器人驱动的定价给整个零售行业带来了巨大的变革。以往,零售店最多每周调价一次,因为更换标签的成本和时间成本都很高。而在电子商务世界,零售商却可以随时调价,有时候甚至达到每天数次,这都得益于竞对定价数据等。在电子商务行业,使用爬虫成为了一场“猫捉老鼠”的游戏。企业一方面希望阻止竞争对手爬取自己的网站,另一方面又想渗透对手的网站。尽管拥有各类技术防范,但爬取机器人数量还是令人震惊。除了竞争对手外,有的流量还来自科研院所,目的是研究竞争、搜索引擎、广告服务,甚至还有的是企图入侵网站帐号的不法分子。