读书人

对抓取回来的雅量原始网页存储结构设计

发布时间: 2012-10-31 14:37:31 作者: rapoo

对抓取回来的海量原始网页存储结构设计
最近一直在搞爬虫相关的工作,现在在考虑抓取回来的原始网页存储问题
找了一些资料,也参考了天网的存储格式,现在头绪没有理清楚,该以怎样的结构存储对后期的再加工和查询等提高效率,希望做搜索的朋友一起讨论,哪里不对请指教 10 楼 java菜菜鸟 2009-09-15 引用
+ab
+cd
+ef
-abcdefghj

这样是为了更加方便索引吧? 11 楼 baseworld 2009-09-15 如果你用hadoop,可以使用HBase,使用反向的域名作为行的key做一张raw web page的大表。 12 楼 todayapple 2009-09-15 本人也要做爬虫,请问楼主是自己写还是用的网上的??你们的需求是什么?加QQ一起讨论吧:180512682 13 楼 lovejuan1314 2009-09-15 数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.

14 楼 whaosoft 2009-09-15 lovejuan1314 写道数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.



这种方法应该可以 15 楼 baseworld 2009-09-15 lovejuan1314 写道数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.



Hypertable除了百度在用 国内还有人用吗。。。
16 楼 iamct 2009-09-15 SLrz0wY5xWnE 对应字母D
Tb2ggwdpwmLC 对应字母B
E7v0ggRukGXKdPKTDw 对应Japan
G+2k0Aw+kzPkfOOAGA 对应diary
有知道这是怎么加密的吗?
17 楼 shadowlin 2009-09-16 一般做的都是垂直搜索吧,数据量应该不是很大.用数据库也可以凑合的.... 18 楼 InnocentBoy 2009-09-16 你用的什么爬虫工具??? 19 楼 tangmi 2009-09-16 InnocentBoy 写道你用的什么爬虫工具???
没有用什么工具,是自己在写 20 楼 tangmi 2009-09-16 lovejuan1314 写道数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.


谢谢,这种方式应该不错 21 楼 luojian 2009-09-16 我觉的用文件的方式,外接硬盘。 22 楼 fanzy618 2009-09-16 Hbase安装和使用都很简单,读写性能也不错,就是太吃内存。
hypertable的编译和安装很麻烦,尤其是需要部署到多台机器的时候。

数据量不大的话,文件系统+关系数据库性能会更好。
按一定命名规则保存到文件系统,数据库保存文件名和网址的映射。


tangmi 写道lovejuan1314 写道数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.


谢谢,这种方式应该不错
23 楼 lovejuan1314 2009-09-16 fanzy618 写道Hbase安装和使用都很简单,读写性能也不错,就是太吃内存。
hypertable的编译和安装很麻烦,尤其是需要部署到多台机器的时候。

数据量不大的话,文件系统+关系数据库性能会更好。
按一定命名规则保存到文件系统,数据库保存文件名和网址的映射。


tangmi 写道lovejuan1314 写道数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.


谢谢,这种方式应该不错


恩, Hypertable在配置上确实比较麻烦,而且仿SQL的HQL语言也相对少很多. 我看重的主要是它在大数据量优越的读写速度以及稳定性.

HBASE和Hadoop融合起来比较容易些,而且支持的相对多一些,但是它在应付大数据量的情况下还是容易被crash. 虽然构建于hdfs上的结点有容错功能,但还是比较担心数据的丢失,尤其在master出问题的时候. ;-)

24 楼 baseworld 2009-09-16 lovejuan1314 写道fanzy618 写道Hbase安装和使用都很简单,读写性能也不错,就是太吃内存。
hypertable的编译和安装很麻烦,尤其是需要部署到多台机器的时候。

数据量不大的话,文件系统+关系数据库性能会更好。
按一定命名规则保存到文件系统,数据库保存文件名和网址的映射。


tangmi 写道lovejuan1314 写道数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.


谢谢,这种方式应该不错


恩, Hypertable在配置上确实比较麻烦,而且仿SQL的HQL语言也相对少很多. 我看重的主要是它在大数据量优越的读写速度以及稳定性.

HBASE和Hadoop融合起来比较容易些,而且支持的相对多一些,但是它在应付大数据量的情况下还是容易被crash. 虽然构建于hdfs上的结点有容错功能,但还是比较担心数据的丢失,尤其在master出问题的时候. ;-)

hadoop的append是个问题,0.19的append半死不活,另外用这种东西lz要考虑好hadoop的HA比如是Namenode HA方案,没有HA的集群只是玩具。 25 楼 programming 2009-09-17 用文件的方式存入硬盘,相关数据存入数据库。 26 楼 lianj_lee 2009-09-17 存入硬盘,硬盘消耗量太大,我最近就已经感觉到这个问题很严重了。

每天抓回来的东西很多啊。 27 楼 wlvfox 2009-09-17 我也在搞爬虫收集一些公司所需要的特定数据
一开始用MYSQL关系型数据库存储,后来发现不太实际
第一 网页中的数据往往不是按照我们的字段来设计的
第二 数据量变大后,即使有索引也会有明显的速度下降

最后考虑的是关系型数据库+无模式型数据库结合存储的思路
我用的是MYSQL+MONGODB来存储
MYSQL中记录原始网页的路径
MONGODB中存储网页收集回来的我们所需要的数据
不知道谁这样联合使用过,因为还需要进一步实验,希望有经验的可以给予一定的指点。
同时也给大家开拓个思路吧。。。 28 楼 yangliang00504 2009-11-11 <p>我今年毕业,目前正在做抓取方面的工作,就是用nekohtml解析页面内容,并替换里面的各种路径</p>
<p>目前字符编码以及js中的路径问题都没能解决好</p>
<p>?</p>
<p>字符编码我是这样处理的</p>
<p>connection = (HttpURLConnection)new URL(url).openConnection();</p>
<p>BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(),encode));</p>
<p>?</p>
<p>字符还是存在乱码</p>
<p>更不好搞的就是那个JS中路径问题了的</p>
<p>用正则都不能准确的查找替换的</p>
<p>?</p>
<p>所以还望多多指教</p> 29 楼 p_x1984 2009-11-22 生成相应的xml,直接用xpath解析。我们目前是这样做的。不知大家还有什么好的建议!

读书人网 >软件架构设计

热点推荐