zoukankan      html  css  js  c++  java
  • 轻量级爬虫+全文检索解决方案项目——NukeLite(20081114 更新r24版 引入新线程机制)

    轻量级爬虫+全文检索解决方案项目——NukeLite

    svn: http://nukelite.googlecode.com/svn/trunk/

    项目地址:http://code.google.com/p/nukelite/

    开源协议:Apache License 2.0

    =================================================================

    2008-11-14更新:

    版本更新为 0.1.0.0 r24

     更新项:
    1、调整数据库插件调用结构;
    2、提升引擎对编码识别的效果;
    3、舍弃了ThreadPool的操作方式,引入了完成端口来控制线程,主要解决了同时线程并发太多导致的超时现象比较严重的问题,当然也使抓取速度慢了一些。


    下次改进应该会对抓取与文本处理进行分离。

    提供当前版本编译预览文件下载:(格式RAR)
    NukeLite v0.1.0.0 r24 Preview2.rar

    =================================================================


    2008-11-03更新:

    版本更新为 0.1.0.0 r18

    更新项:

    1、修正了MySQL操作参数名规范
         以前使用的老符合
    '@',现在换成'?',连接字符串可以变成“Database=Searcher;Data Source=localhost;User Id=root;Password=123;charset=utf8”,不需要对旧操作符支持。
    2、修正了Web管理任务无法设置层次的问题;
    3、修正MySQL数据库结构中,UrlHash字段的类型为有符号int;
    4、解决了多线程抓取任务不太稳定的问题,现在已经很稳定;
    5、新增一个Windows系统服务项目,可以把程序配置为Windows系统服务,安装文件放在“ServiceRelease”目录。

    总的来说,现在的爬虫可以称得上比较稳定了,至于是否高效,不太好说。在我本本上,54M无线网卡,1M带宽,双核1.6 CPU,3G内存,基本上每秒1.5条记录。
    =================================================================

    2008-10-31更新:

    版本更新为 0.1.0.0 r16

    更新项:

    1、网站项目替换为应用程序项目;
    2、改变数据库使用架构;
    3、增加对MySQL数据库的支持。

    注意:数据库操作采用的是MySQL Connector/Net ,操作编码要注意正确选择。系统默认给出的是utf-8。
    现在对MS SQLServer 以及MySQL的访问是采用的工厂,请手动复制DLL到测试类应用。
    本版本在 SQL Server 2005,MySQL 5下测试通过,不保证其它版本能稳定运行。

    =================================================================

    2008-10-30更新:

    版本更新为 0.1.0.0 r10

    更新项:

    1、增加了Web管理任务项目;
    2、改变了解决方案路径;
    3、去掉了一些不必要的引用;
    4、修改了部分代码编译级的写法,更加适合标准C#编译,除了Web项目,其它两项在Ubuntu 8.04 MonoDevelop 1.0下编译通过。

    另外,和一位网友交谈,受到启发,将会在页面捕获处增加插件结构支持,以适应需要对网页结构做更细致处理的需求。比如,通过写某个dll给程序调用,则可以分析出定向网站网页中的日期、作者、分类等信息。开发时间未定,有兴趣的朋友可以和我交流。

    =================================================================

    2008-10-29更新:

    版本更新为 0.1.0.0 r7

    更新项:
    1、不再使用ADO.Net Entity Framework
    2、使用框架改为.Net Framework 2.0
    3、修正了数据库一个字段的名称以及部分字段的长度
    4、更新了部分注释


    提供预览编译版本,下载地址:http://code.google.com/p/nukelite/downloads/list

    ==================================================================

    项目简介:

    嘿嘿,我自己写的一个轻量级的解决方案,希望以这个项目为开始,发展成一个健全,强大的全文搜索解决方案。

    运行平台:.Net Framework 2.0 / Mono
    数据库: MS SQLServer 2005 / MySQL 5
    HTTP服务: IIS / Apache

    项目采用C#开发,预期分爬虫,索引和搜索三部分。目前正在开发爬虫部分。


    上图为该爬虫爬行数据时输出信息。

    目前爬虫的工作流程为:

    1、设置起始地址、抓取规则、访问深度等;
    2、爬虫提取数据分配任务;
    3、多线程运行捕获任务;
    4、分析捕获文本,设置为规则文本,同时存入数据库和在磁盘生成快照。

    生成索引和搜索部分暂未完成。

    爬虫实现了:
    1、多线程抓取;
    2、编码识别(对部分站点测试,准确率98%以上);
    3、网页快照。

    下一步实现:
    1、多进程分布式抓取;
    2、坏链处理;
    3、失败处理等。

    目前爬虫的工作方式:

    tags: C#爬虫,C#蜘蛛,C#搜索引擎,.Net爬虫,.Net蜘蛛,.Net搜索引擎。

    2008-10-28  by yurow.

  • 相关阅读:
    Zookeeper全解析——Paxos作为灵魂(转)
    你真的会开发测试框架?
    使用Hypothesis生成测试数据
    poium测试库之JavaScript API封装原理
    PHP接口自动化测试框架实现
    Web项目如何做单元测试
    如何在Appium中使用AI定位
    我写了个项目,帮你学习HTTP接口测试!
    性能测试浅谈
    Web测试框架SeleniumBase
  • 原文地址:https://www.cnblogs.com/lzhdim/p/1343995.html
Copyright © 2011-2022 走看看