网络爬虫 学习1

作者:Ackarlix 
随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,百度,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:
 
 (1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。
 (2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。
 (3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。
 (4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。
 为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(generalpurpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。
 
 1 聚焦爬虫工作原理及关键技术概述
 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL 开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件,如图1(a)流程图所示。聚 焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索 策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,如图1(b)所示。另外,所有被爬虫抓取的网页将会被系统存 贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
 
 相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:
 (1) 对抓取目标的描述或定义;
 (2) 对网页或数据的分析与过滤;
 (3) 对URL的搜索策略。
 抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。
 
 2 抓取目标描述
 现有聚焦爬虫对抓取目标的描述可分为基于目标网页特征、基于目标数据模式和基于领域概念3种。
 基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。根据种子样本获取方式可分为:
 1)预先给定的初始抓取种子样本;
 2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;
 3)通过用户行为确定的抓取目标样例,分为:
 a) 用户浏览过程中显示标注的抓取样本;
 b) 通过用户日志挖掘得到访问模式及相关样本。
 其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
 现有的聚焦爬虫对抓取目标的描述或定义可以分为基于目标网页特征,基于目标数据模式和基于领域概念三种。
 基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。具体的方法根据种子样本的获取方式可以分为:(1)预先给定的初始抓取种子样本;(2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;(3)通过用户行为确定的抓取目标样例。其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
设定RSS爬虫重新访问的5个级别:
Level[1]=20 Minutes
Level[2]=200 Minutes
Level[3]=1000 Minutes
Level[4]=2000 Minutes
Level[5]=10000 Minutes
设定RSS 源的权重为从0到5
RssRank=0 ~ 5
要点:
1.每一个RSS 源对应一个时间T[i],这个时间取整就得到 Level 。例如,这个时间是250分钟,那么就取Level[2],就是每隔200分钟抓取一次。
2.每一次这个对应时间都是改变的,根据这个RSS源有没有变化。
3.当更新了,这个时间就除以1.2 ,当未更新,这个时间就乘以1.2。
4.RssRank起到调整更新时间级别的规则。例如当一个RSS在Level[5],但是它的RssRank是3,那么更新时间调整为Level[5-3] = Level[2] = 200分钟。
总体公式:
T[i+1] = T[i] [(1.2)(1.2)]
T = Level[ AntiLevel[T[i][(1.2)(1.2)]] - RssRank]
经过长时间的运行,T序列都变动非常稳定。

*************************************************************
以上转载的是一篇关于搜索引擎网络爬虫(即搜索引擎蜘蛛程序)的设计分析的文章,介绍了一些蜘蛛设计的常识,这些信息对SEO都很有帮助,特别是注意以下几句:
 
1.通常在下一次爬的的数据要跟上一次进行比较,如果连续5次都没有变化,那么将爬这个网页的时间间隔扩大1倍,如果一个网页在连续5次爬取的时候都有更新,那么将设置的爬取时间缩短为原来的1/2。
 
网页更新频度严重影响着搜索引擎蜘蛛程度对网站的爬行,爬取次数越多意味着网页收录几率会越大、收录数量越多,收录是SEO最基础的一个环节。
 
2.好了,爬到三级就差不多了,再深入一是数据量扩大了3/4倍,二是重要度确下降了许多,这叫做“种下的是龙种,收获的是跳蚤。
 
尽量将网站保持在三级目录内,深层次的网页会给搜索引擎带来很大的压力,当然,我想Google有足够的服务器来承担这些压力,但从侧面来说,3层目录下的网页被抓取及更新的频度要低很多。前面,我说过,要想办法使网站物理结构和逻辑结构吻合,这体现于URL的良好设计,现在你可以检查下前台生成的静态网页的实际目录有几层,考虑是否可以优化。
关于网站逻辑结构和URL设计,请参考“网站内部链接优化是SEO的第一要素”和“二级域名与一级目录之间该如何选择?”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值