ZCMS的Web采集(一):千万级别的网络爬虫

ZCMS的网页采集功能界面简洁,但功能强大,共由五部分组成:

一、一个大容量的页面文件容器。
1.1 该容器能保存上千万的HTML、图片、视频,但又不能产生过多的小文件。
1.2 该容器能通过URL快速存取文件(类似于HashMap)
1.3 该容器支持压缩存放。
1.4 该容器将页面的概要信息和内容分开存放。
1.5 该容器的存取性能不随存取文件数量的增长有大的变化。

二、一个高效的HTTP下载器
2.1 完全支持HTTP 1.0/1.1
2.2 支持Cookie
2.3 支持HTTP压缩
2.4 自动识别网页字符集
2.5 能够处理链接跳转,包括302/303跳转、通过JS跳转以及通过Meta的refresh跳转。
2.6 能够识别无限URL循环。
2.7 能够自动识别分页的URL(即列表中的下一页,第几页等链接)
2.8 能够处理ASP.NET形式的通过表单回发处理的分页。
2.9 能够避免无限分页的情况(有的网站上永远有下一页,但下一页的内容总是和上一页相似)
2.10 支持通过代理下载
2.11 支持超时设置
2.12 支持最大下载数
2.13 支持多线程,可以设置线程数

三、一个完善的URL提取器
3.1 能够从HTML中正确提取全路径URL
3.2 支持过滤后缀
3.3 为URL编码,但己编码的URL要能自动识别,避免再次编码
3.4 只有符合指定形式的URL才提取
3.5 支持过滤指定形式的URL

四、一个便利的结构化数据提取器
4.1 能够通过模板方式提取结构化信息,模板应该简易,从代表性HTML中摘取经过简单修改即可提取(不能使用正则表达式,对于HTML正则表达式需要转义的字符过多)
4.2 提取时能够自动得到一个二维表
4.3 提取结果支持过滤掉指定形式的内容块(比如正文中的广告)
4.4 能够自动下载正文中的图片
4.5 能够去掉正文中的超链接

五、一个准确率较高的正文提取器
5.1 以95%以上的准确率从HTML中提取文章正文
5.2 自动识别首页和列表页,不从其中提取正文
5.3 未成功提取正文时将Meta的Content中置为正文

将会以较多篇幅逐个介绍各部分的设计原理。
可以通过http://demo.zving.com体验
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值