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

1】 网络爬虫高度可配置性。
2】 网络爬虫可以解析抓到的网页里的链接
3】 网络爬虫有简单的存储配置
4】 网络爬虫拥有智能的根据网页更新分析功能
5】 网络爬虫的效率相当的高
那么依据特征,其实也就是要求了,如何设计爬虫呢?要注意哪些步骤呢?
1】 url 的遍历和纪录
这点 larbin 做得非常的好,其实对于url的遍历是很简单的,例如:

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

就可以得到一个所由的 url 列表
2】多进程 VS 多线程
各有优点了,现在一台普通的PC 例如 booso.com 一天可以轻松爬下5个G的数据。大约20万网页。
3】时间更新控制
最傻的做法是没有时间更新权重,一通的爬,回头再一通的爬。
通常在下一次爬的的数据要跟上一次进行比较,如果连续5次都没有变化,那么将爬这个网页的时间间隔扩大1倍。
如果一个网页在连续5次爬取的时候都有更新,那么将设置的爬取时间缩短为原来的1/2。
注意,效率是取胜的关键之一。
4】爬的深度是多少呢?
看情况了。如果你比较牛,有几万台服务器做网络爬虫,我劝您跳过这一点。
如果你同我一样只有一台服务器做网络爬虫,那么这样一个统计您应该知道:
网页深度:网页个数:网页重要程度
0 : 1 : : 10
1 :20 : :8
2: :600: :5
3: :2000: :2
4 above: 6000: 一般无法计算
好了,爬到三级就差不多了,再深入一是数据量扩大了3/4倍,二是重要度确下降了许多,这叫做“种下的是龙种,收获的是跳蚤。
5】爬虫一般不之间爬对方的网页,一般是通过一个Proxy出去,这个proxy有缓解压力的功能,因为当对方的网页没有更新的时候,只要拿到 header 的 tag就可以了,没有必要全部传输一次了,可以大大节约网络带宽。
apache webserver里面纪录的 304 一般就是被cache的了。
6】请有空的时候照看一下robots.txt
7】存储结构。
这个人人见智,google 用 gfs 系统,如果你有7/8台服务器,我劝你用NFS系统,要是你有70/80个服务器的话我建议你用afs 系统,要是你只有一台服务器,那么随便。
给一个代码片断,是我写的新闻搜索引擎是如何进行数据存储的:

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

时间: 2024-10-03 22:06:41

搜索引擎中网络爬虫的设计分析-搜索引擎技术的相关文章

源代码-关于java中网络爬虫,jsoup相关的知识

问题描述 关于java中网络爬虫,jsoup相关的知识 关于java中网络爬虫,jsoup相关的知识.有时候在审查元素里面/源代码里面看不到需要获取的列表链接,在这个netword里面能找到.这种location属性的值我们怎么才能获取到呢?求解 解决方案 http://blog.csdn.net/column/details/jsoup.html

以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法_python

在这篇文章中,我们将分析一个网络爬虫. 网络爬虫是一个扫描网络内容并记录其有用信息的工具.它能打开一大堆网页,分析每个页面的内容以便寻找所有感兴趣的数据,并将这些数据存储在一个数据库中,然后对其他网页进行同样的操作. 如果爬虫正在分析的网页中有一些链接,那么爬虫将会根据这些链接分析更多的页面. 搜索引擎就是基于这样的原理实现的. 这篇文章中,我特别选了一个稳定的."年轻"的开源项目pyspider,它是由 binux 编码实现的. 注:据认为pyspider持续监控网络,它假定网页在一

“网络爬虫+相似矩阵”技术运作流程

今日头条这类资讯聚合平台是基于数据挖掘技术,筛选和推荐新闻:"它为用户推荐有价值的.个性化的信息,提供连接人与信息的新型服务,是国内移动互联网领域成长最快的产品服务之一".自从2012年3月创建以来,今日头条至今已经累计激活用户3.1亿,日活跃用户超过3000万. 本文尝试从技术层面分析今日头条的传播机制和相关原理. 网络爬虫:抓取新闻的基本技术 今日头条是一个典型的数据新闻平台,其新闻来源除了合作媒体之外,很大一部分来自于搜索引擎的网络爬虫. 网络爬虫是什么? STEP 1:从互联网

网络爬虫的实现

摘要-万维网是一个通过HTML格式使数十亿的文件产生联系的集合 ,然后如此规模庞大的数据已经成为信息检索的障碍,用户为了查找自己想要的资料可能要翻转数页.网络爬虫是搜索引擎的核心部分,网页爬虫持续不断的在互联网上爬行来寻找任何新的增加到网络中的页面和已经从网上删除页面.由于网页的持续的增长和动态性,遍历网络中所有的网址并处理已成为一种挑战.一个集中性的爬虫就是一个爬取特定话题,访问并收集相关网页的代理.这篇论文中会讲到我做过的一些网络爬虫的设计来检索版权侵权的工作.我们将用一个种子URL作为输入

网络爬虫与Web安全

网络爬虫(Web Crawler),又称网络蜘蛛(Web Spider)或网络机器人(Web Robot),是一种按照一定的规则自动抓取万维网资源的程序或者脚本,已被广泛应用于互联网领域.搜索引擎使用网络爬虫抓取Web网页.文档甚至图片.音频.视频等资源,通过相应的索引技术组织这些信息,提供给搜索用户进行查询.随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战.不断优化的网络爬虫技术正在有效地应对这种挑战,为高效搜索用户关注的特定领域与主题提供了有力支撑

精通Python网络爬虫:核心技术、框架与项目实战.1.4 网络爬虫的类型

1.4 网络爬虫的类型 现在我们已经基本了解了网络爬虫的组成,那么网络爬虫具体有哪些类型呢? 网络爬虫按照实现的技术和结构可以分为通用网络爬虫.聚焦网络爬虫.增量式网络爬虫.深层网络爬虫等类型.在实际的网络爬虫中,通常是这几类爬虫的组合体. 首先我们为大家介绍通用网络爬虫(General Purpose Web Crawler).通用网络爬虫又叫作全网爬虫,顾名思义,通用网络爬虫爬取的目标资源在全互联网中.通用网络爬虫所爬取的目标数据是巨大的,并且爬行的范围也是非常大的,正是由于其爬取的数据是海

精通Python网络爬虫:核心技术、框架与项目实战.1.6 小结

1.6 小结 1)网络爬虫也叫作网络蜘蛛.网络蚂蚁.网络机器人等,可以自动地浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则去浏览,这些规则我们将其称为网络爬虫算法.使用Python可以很方便地编写出爬虫程序,进行互联网信息的自动化检索. 2)学习爬虫,可以:①私人订制一个搜索引擎,并且可以对搜索引擎的数据采集工作原理,进行更深层次地理解:②为大数据分析提供更多高质量的数据源:③更好地研究搜索引擎优化:④解决就业或跳槽的问题. 3)网络爬虫由控制节点.爬虫节点.资源库构成. 4)网络爬

用Python语言实现网络爬虫

1.什么是网络爬虫 网络爬虫是现代搜索引擎技术的一种非常核心.基础的技术,网络就好比是一张蜘蛛网,网络爬虫就像是一只蜘蛛,在网络间'爬来爬去',搜索有用的信息. 2.抓取代理服务器的网络爬虫 本文介绍用python实现抓取代理服务器的网络爬虫,主要步骤是: 1)利用urllib2获取提供代理服务的网页信息(本文以http://www.cnproxy.com/proxy1.html为例) 2)利用正则表达式获取代理ip信息 3)利用多线程技术验证代理ip的有效性 1).抓取代理ip列表 def g

精通Python网络爬虫:核心技术、框架与项目实战.3.4 网页分析算法

3.4 网页分析算法 在搜索引擎中,爬虫爬取了对应的网页之后,会将网页存储到服务器的原始数据库中,之后,搜索引擎会对这些网页进行分析并确定各网页的重要性,即会影响用户检索的排名结果. 所以在此,我们需要对搜索引擎的网页分析算法进行简单了解. 搜索引擎的网页分析算法主要分为3类:基于用户行为的网页分析算法.基于网络拓扑的网页分析算法.基于网页内容的网页分析算法.接下来我们分别对这些算法进行讲解. 1.?基于用户行为的网页分析算法 基于用户行为的网页分析算法是比较好理解的.这种算法中,会依据用户对这