Spider读取网页最快的方法

Brodie 2010-04-26 10:45:36
读取指下载HTML内容和解码成STRING,可以使用JDK包,第三方包(httpclient)
...全文
163 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
OopsJeff 2010-04-27
  • 打赏
  • 举报
回复
第三方?? 又要学怎么用?
  • 打赏
  • 举报
回复
说具体点撒
zfq642773391 2010-04-26
  • 打赏
  • 举报
回复
apache的项目嘛
据说挺好用
先顶个
24K純帥 2010-04-26
  • 打赏
  • 举报
回复
LZ您也说具体点撒
hjjk123 2010-04-26
  • 打赏
  • 举报
回复
不懂.............
Aniao 2010-04-26
  • 打赏
  • 举报
回复
httpclient的最新版本已经叫http-component了

其实用URLHttpConnection已经很高效了,Spider的性能高效主要体现在多线程的使用上
xooxoo 2010-04-26
  • 打赏
  • 举报
回复
heritrix 啊 又简单又好用

小_Y 2010-04-26
  • 打赏
  • 举报
回复
那怎么个快法?
小糊涂 2010-04-26
  • 打赏
  • 举报
回复
楼主你说的怎么提高读取网页的速度吗??
yugong2009 2010-04-26
  • 打赏
  • 举报
回复
学习……
岁月之梦 2010-04-26
  • 打赏
  • 举报
回复
蜘蛛跟 抓取网页不同吧 蜘蛛只是在网页爬 取meta 和title, 抓取网页是针对哪个网页去取数据!
valen_jia 2010-04-26
  • 打赏
  • 举报
回复
还好,也不算很快的吧
梦_枫 2010-04-26
  • 打赏
  • 举报
回复
没怎么看懂LZ的意思,
友情帮顶下个。。。。
网络爬虫调研报告 基本原理 Spider概述 Spider即网络爬虫 ,其定义有广义和狭义之分。狭义上指遵循标准的 http协议利用超链接和 Web文档检索的方法遍历万维网信息空间的软件程序 ;而广义的定义则是所有能遵循 http协议检索 Web文档的软件都称之为网络爬虫。 Spider是一个功能很强的自动提取网页的程序 ,它为搜索引擎从万维网上下载网页 ,是搜索引擎的重要组成 .它通过请求站点上的 HTML文档访问某一站点。它遍历 Web空间 ,不断从一个站点移动到另一个站点 ,自动建立索引 ,并加入到网页数据库中。网络爬虫进入某个超级文本时 ,它利用 HTML语言的标记结构来搜索信息及获取指向其他超级文本的 URL地址 ,可以完全不依赖用户干预实现网络上的自动爬行和搜索。 Spider的队列 (1)等待队列 :新发现的 URL被加入到这个队列 ,等待被 Spider程序处理 ; (2)处理队列 :要被处理的 URL被传送到这个队列。为了避免同一个 URL被多次处理 ,当一个 URL被处理过后 ,它将被转移到完成队列或者错误队列 (如果发生错误 )。 (3)错误队列 :如果在下载网页是发生错误 ,该 URL将被加入 到错误队列。 (4)完成队列 :如果在处理网页没有发生错误 ,该 URL将被加入到完成队列。 网络爬虫搜索策略 在抓取网页的时候 ,目前网络爬虫一般有两种策略 :无主题搜索与基于某特定主体的专业智能搜索。其中前者主要包括 :广度优先和深度优先。广度优先是指网络爬虫会先抓取起始网页中链接的所有网页 ,然后再选择其中的一个链接网页 ,继续抓取在此网页中链接的所有网页。这是最常用的方式,因为这个方法可以让网络爬 虫并行处理 ,提高其抓取速度。深度优先是指网络爬虫会从起始页开始 ,一个链接一个链接跟踪下去 ,处理完这条线路之后再转入下一个起始页 ,继续跟踪链接。这个方法有个优点是网络爬虫在设计的时候比较容易。大多数网页爬行 器采用宽度优先搜索策略或者是对这种策略的某些改进。 在专业搜索引擎中 ,网络爬虫的任务是获取 Web页面和决定链接的访问顺序 ,它通常从一个 "种子集 "(如用户查询、种子链接或种子页面 )发,以迭代的方式访问页面和提取链接。搜索过程中 ,未访问的链接被暂存在一个称为 "搜索前沿 "(Spider Frontier)的队列中 ,网络爬虫根据搜索前沿中链接的 "重要程度 "决定下一个要访问的链接。如何评价和预测链接的 "重要程度 "(或称价值 )是决定网络爬虫搜索策略的关键。 众多的网络爬虫设计各不相同 ,但归根结底是采用不同的链接价值评价标准。 常用开源网络爬虫介绍及其比较 Nutch 开发语言:Java 简介: Apache的子项目之一,属于Lucene项目下的子项目。 Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的 分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而 且很容易集成到自己的应用之中。 Larbin 开发语言:C++ 简介   larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎 提供广泛的数据来源。   Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由 用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。   latbin最初的设计也是依据设计简单但是高度可配置性的原则,因此我们可以看 到,一个简单的larbin的爬虫可以每天获取500万的网页,非常高效。 Heritrix 开发语言:Java 简介 与Nutch比较 Heritrix 和 Nutch。二者均为Java开源框架,Heritrix 是 SourceForge上的开源产品,Nutch为Apache的一个子项目,它们都称作网络爬虫/蜘蛛( Web Crawler),它们实现的原理基本一致:深度遍历网站的资源,将这些资源抓取到本地, 使用的方法都是分析网站每一个有效的URI,并提交Http请求,从而获得相应结果,生成 本地文件及相应的日志信息等。 Heritrix 是个 "archival crawler" -- 用来获取完整的、精确的、站点内容的深度复制。包括获取图像以及其他非文本内容。 抓取并存储相关的内容。对内容来者不拒,不对页面进行内容上的修改。重新爬行对相 同的URL不针对先前的进行替换。爬虫通过Web用户界面启动、监控、调整,允许弹性的 定义要获取的URL。 二者的差异: Nutch 只获取并保存可索引的内容。Heritrix则是照单全收。力求保存页
体顶端 网络爬虫调研报告 基本原理 Spider概述 Spider即网络爬虫 ,其定义有广义和狭义之分。狭义上指遵循标准的 http协议利用超链接和 Web文档检索的方法遍历万维网信息空间的软件程序 ;而广义的定义则是所有能遵循 http协议检索 Web文档的软件都称之为网络爬虫。 Spider是一个功能很强的自动提取网页的程序 ,它为搜索引擎从万维网上下载网页 ,是搜索引擎的重要组成 .它通过请求站点上的 HTML文档访问某一站点。它遍历 Web空间 ,不断从一个站点移动到另一个站点 ,自动建立索引 ,并加入到网页数据库中。网络爬虫进入某个超级文本时 ,它利用 HTML语言的标记结构来搜索信息及获取指向其他超级文本的 URL地址 ,可以完全不依赖用户干预实现网络上的自动爬行和搜索。 Spider的队列 (1)等待队列 :新发现的 URL被加入到这个队列 ,等待被 Spider程序处理 ; (2)处理队列 :要被处理的 URL被传送到这个队列。为了避免同一个 URL被多次处理 ,当一个 URL被处理过后 ,它将被转移到完成队列或者错误队列 (如果发生错误 )。 (3)错误队列 :如果在下载网页是发生错误 ,该 URL将被加入 到错误队列。 (4)完成队列 :如果在处理网页没有发生错误 ,该 URL将被加入到完成队列。 网络爬虫搜索策略 在抓取网页的时候 ,目前网络爬虫一般有两种策略 :无主题搜索与基于某特定主体的专业智能搜索。其中前者主要包括 :广度优先和深度优先。广度优先是指网络爬虫会先抓取起始网页中链接的所有网页 ,然后再选择其中的一个链接网页 ,继续抓取在此网页中链接的所有网页。这是最常用的方式,因为这个方法可以让网络爬 虫并行处理 ,提高其抓取速度。深度优先是指网络爬虫会从起始页开始 ,一个链接一个链接跟踪下去 ,处理完这条线路之后再转入下一个起始页 ,继续跟踪链接。这个方法有个优点是网络爬虫在设计的时候比较容易。大多数网页爬行 器采用宽度优先搜索策略或者是对这种策略的某些改进。 在专业搜索引擎中 ,网络爬虫的任务是获取 Web页面和决定链接的访问顺序 ,它通常从一个 "种子集 "(如用户查询、种子链接或种子页面 )发,以迭代的方式访问页面和提取链接。搜索过程中 ,未访问的链接被暂存在一个称为 "搜索前沿 "(Spider Frontier)的队列中 ,网络爬虫根据搜索前沿中链接的 "重要程度 "决定下一个要访问的链接。如何评价和预测链接的 "重要程度 "(或称价值 )是决定网络爬虫搜索策略的关键。 众多的网络爬虫设计各不相同 ,但归根结底是采用不同的链接价值评价标准。 常用开源网络爬虫介绍及其比较 Nutch 开发语言:Java 简介: Apache的子项目之一,属于Lucene项目下的子项目。 Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的 分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而 且很容易集成到自己的应用之中。 Larbin 开发语言:C++ 简介   larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎 提供广泛的数据来源。   Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由 用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。   latbin最初的设计也是依据设计简单但是高度可配置性的原则,因此我们可以看 到,一个简单的larbin的爬虫可以每天获取500万的网页,非常高效。 Heritrix 开发语言:Java 简介 与Nutch比较 Heritrix 和 Nutch。二者均为Java开源框架,Heritrix 是 SourceForge上的开源产品,Nutch为Apache的一个子项目,它们都称作网络爬虫/蜘蛛( Web Crawler),它们实现的原理基本一致:深度遍历网站的资源,将这些资源抓取到本地, 使用的方法都是分析网站每一个有效的URI,并提交Http请求,从而获得相应结果,生成 本地文件及相应的日志信息等。 Heritrix 是个 "archival crawler" -- 用来获取完整的、精确的、站点内容的深度复制。包括获取图像以及其他非文本内容。 抓取并存储相关的内容。对内容来者不拒,不对页面进行内容上的修改。重新爬行对相 同的URL不针对先前的进行替换。爬虫通过Web用户界面启动、监控、调整,允许弹性的 定义要获取的URL。 二者的差异: Nutch 只获取并保存可索引的内容。Heritrix则是照单全收。力

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧