ver 2.3.0 2015-03-08 calvin * 增加错误码SIMSPIDER_ERROR_FUNCPROC_INTERRUPT,回调函数中返回该错误码,爬行过程立即中断 * 修改函数AppendRequestQueue原型 * 修改函数SimSpiderGo原型 * 新增函数SetSimSpiderPublicDataPtr、GetSimSpiderPublicDataPtr用于传递爬虫引擎公共数据 * 新增函数SetDoneQueueUnitPrivateDataPtr、GetDoneQueueUnitPrivateDataPtr用于爬取每个网址时传递私有数据 * 新增函数EnableHtmlLinkerParser用于设置爬虫引擎内部快速HTML链接解析器是否启用,默认为启用 * 修复了一个并发失效的问题 * 优化了自带爬虫示例程序simspider --------------------------------------------------------------- simspider - 网络爬虫引擎 1.简介 simspider是一个轻巧的跨平台的网络爬虫引擎,它提供了一组C函数接口用于快速构建你自己的网络爬虫应用,同时也提供了一个可执行的爬虫程序用于演示函数接口如何使用。 simspider只依赖于第三方函数库libcurl。 simspider目前支持平台: * UNIX/Linux * WINDOWS simspider函数接口非常容易使用,主流程如下: * 创建爬虫引擎环境 * 设置爬虫引擎环境 * 从入口网址递归爬取所有网页 * 销毁爬虫引擎环境 有大量的可选选项用于定制你的爬虫引擎环境,包含但不限于下列: * 设置请求队列空间大小 * 设置感兴趣的文件扩展名集合 * 是否允许文件扩展名为空 * 是否允许爬出当前网站 * 设置最大递归深度 * 设置HTTPS证书文件名 * 设置爬取间隔时间 * 设置爬取最大并发数量 simspider爬虫引擎实现了一个灵活的流程框架,提供了相当丰富的回调函数指针给予爬虫应用设计者想要在爬取的任何时间点加入自己自定义的处理逻辑,包含但不限于下列: * 构建HTTP请求头时 * 构建HTTP请求体(往往是POST内容)时 * 获取到HTTP响应头时 * 获取到HTTP响应体(往往是HTML)时 (在以上4个回调函数中,爬虫应用设计者可以使用另外一批simspider函数接口得到上层网址、当前网址、响应码、递归深度、CURL对象以及HTTP缓冲区等信息) * 爬取完成后检阅完成队列 ... 具体见 http://git.oschina.net/calvinwilliams/simspider simspider 更新至 v2.3.0,网络爬虫引擎下载地址