用户名: 密码: 验证码: 注册           网站地图 高级搜索 RSS订阅 收藏本站
山东十七地市站长联盟信息: 济南 青岛 淄博 枣庄 东营 烟台 潍坊 济宁 泰安 威海 日照 莱芜 临沂 德州 聊城 滨州 菏泽      
您的位置:主页>网站运营>搜索优化>

搜索引擎中网络爬虫的设计分析

[ 来源: | 作者: | 更新日期:2007-9-5 09:30:50 | 评论 0 条 | 我要投稿 ]
       说的简单易懂一些,网络爬虫跟你使用的〖离线阅读〗工具差不多。说离线,其实还是要跟网络联结,否则怎么抓东西下来?那么不同的地方在哪里?

  1)网络爬虫高度可配置性。

字串2

  2)网络爬虫可以解析抓到的网页里的链接

字串1

  3)网络爬虫有简单的存储配置

字串1

  4)网络爬虫拥有智能的根据网页更新分析功能

字串9

  5)网络爬虫的效率相当的高 字串1

  那么依据特征,其实也就是要求了,如何设计爬虫呢?要注意哪些步骤呢? 字串3

  1)url 的遍历和纪录

字串2

  这点 larbin 做得非常的好,其实对于url的遍历是很简单的,例如: 字串7

  cat [what you got]  tr \" \\n   gawk '{print $2}'   pcregrep ^http:// 字串9

  就可以得到一个所由的 url 列表 字串5

  2)多进程 VS 多线程 字串3

  各有优点了,现在一台普通的PC 例如 booso.com 一天可以轻松爬下5个G的数据。大约20万网页。

字串7

  3)时间更新控制

字串4

  最傻的做法是没有时间更新权重,一通的爬,回头再一通的爬。 字串7

  通常在下一次爬的的数据要跟上一次进行比较,如果连续5次都没有变化,那么将爬这个网页的时间间隔扩大1倍。 字串4

  如果一个网页在连续5次爬取的时候都有更新,那么将设置的爬取时间缩短为原来的1/2。 字串9

  注意,效率是取胜的关键之一。

字串3

  4)爬的深度是多少呢? 字串7

  看情况了。如果你比较牛,有几万台服务器做网络爬虫,我劝您跳过这一点。

字串9

  如果你同我一样只有一台服务器做网络爬虫,那么这样一个统计您应该知道:

字串8

   网页深度:网页个数:网页重要程度

字串7

  0 : 1 : : 10 字串4

  1 :20 : :8 字串2

  2: :600: :5 字串1

  3: :2000: :2

字串1

  4 above: 6000: 一般无法计算

字串4

   好了,爬到三级就差不多了,再深入一是数据量扩大了3/4倍,二是重要度确下降了许多,这叫做“种下的是龙种,收获的是跳蚤。

字串3

  5)爬虫一般不之间爬对方的网页,一般是通过一个Proxy出去,这个proxy有缓解压力的功能,因为当对方的网页没有更新的时候,只要拿到 header 的 tag就可以了,没有必要全部传输一次了,可以大大节约网络带宽。 字串5

  apache webserver里面纪录的 304 一般就是被cache的了。

字串9

   6)请有空的时候照看一下robots.txt 字串2

   7)存储结构。

字串4

  这个人人见智,google 用 gfs 系统,如果你有7/8台服务器,我劝你用NFS系统,要是你有70/80个服务器的话我建议你用afs 系统,要是你只有一台服务器,那么随便。 字串5

   给一个代码片断,是我写的新闻搜索引擎是如何进行数据存储的:

字串3

   NAME=`echo $URL  perl -p -e 's/([^\w\-\.\@])/$1 eq "\n" ? "\n":sprintf("%%%2.2x",ord($1))/eg'`mkdir -p $AUTHOR 字串4

  newscrawl.pl$URL--user-agent="news.booso.com+(+http://booso.com)"-outfile=$AUTHOR/$NAME 字串3


特别是注意以下几句:

字串5

  1.通常在下一次爬的的数据要跟上一次进行比较,如果连续5次都没有变化,那么将爬这个网页的时间间隔扩大1倍,如果一个网页在连续5次爬取的时候都有更新,那么将设置的爬取时间缩短为原来的1/2。 字串2

   网页更新频度严重影响着搜索引擎蜘蛛程度对网站的爬行,爬取次数越多意味着网页收录几率会越大、收录数量越多,收录是SEO最基础的一个环节。 字串3

  2.好了,爬到三级就差不多了,再深入一是数据量扩大了3/4倍,二是重要度确下降了许多,这叫做“种下的是龙种,收获的是跳蚤。

字串6

  尽量将网站保持在三级目录内,深层次的网页会给搜索引擎带来很大的压力,当然,我想Google有足够的服务器来承担这些压力,但从侧面来说,3层目录下的网页被抓取及更新的频度要低很多。前面,我说过,要想办法使网站物理结构和逻辑结构吻合,这体现于URL的良好设计,现在你可以检查下前台生成的静态网页的实际目录有几层,考虑是否可以优化。 字串7


Tags:分析 设计 网络 搜索引擎 网页 更新 那么 如果 一个 可以
您的评论
用户名:新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为