免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: redor
打印 上一主题 下一主题

[C] 发布一个单机版的spider,分布式版本还在开发中 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2008-06-12 09:10 |显示全部楼层
https://sirch.svn.sourceforge.net/svnroot/sirch/trunk/crawler/

https://svn.lcuc.org.cn/public/svn-sirch/trunk/libcrawler/

我现在遇到的问题:
1. urlparser也就是LZ所说的从页面里提取出来的URL,我没有做特别详细的URL合法性验证
2. URL hash 列表的重复、权重等带来的效率问题
3. URL那么海量就必然使用pthread,但是如何有效创建有限的threads来应对海量的URL,毕竟去爬取海量的URL是长操作
4. 如何带套(Tor)这样更多地爬取XXX网站

我的初始URL的来源是dmoz和搜狗lib

https://svn.lcuc.org.cn/public/svn-sirch/trunk/util/sirindex.h
https://svn.lcuc.org.cn/public/svn-sirch/trunk/util/sirindex.c

我的索引也存在效率问题,就一直没有往下做了
1. 汉语分词的字典比较小,地名、人名都没有收录
2. 从爬取下来的页面中快速搜索词语效率低下

论坛徽章:
0
2 [报告]
发表于 2008-06-12 13:03 |显示全部楼层
强烈关注
http://lcuc.org.cn/summer_code#comment-2243

1. URL解析,我是用POSIX regex找href=""的值,这样就需要判断值的有效性;当然还有时候还需要join一下parent URL,这个时候不合法的值就会造成join后的URL的爬取变得无意义;不过到底是合法性判断的开销大,还是爬取的开销大,我没有测试数据

2. URL的md5主要是方便cache_to_file,保证文件名的合法性,在URL list里,我还是使用的明文URL

3. 我现在的想法是
a. 把URL list分组
b. 控制pthread stack size

4. 索引中的用自己构造辞典list查找文件(html filter后的)中的词语来构建index的效率,咳,我前阵子google了快速排序,考虑用asm写效率最苛刻的东东,这个我是用测试数据的
https://svn.lcuc.org.cn/public/s ... est/test_sirindex.c
time test_sirindex需要大约7s,很不理想

论坛徽章:
0
3 [报告]
发表于 2008-06-12 17:33 |显示全部楼层
恩,正则主要是用于html filter,这样

1. 索引可以少做一些匹配查找
2. 搜索结果可以更加干净
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP