首页 > 应用开发 > IT综合 > 关于SmartGrab
08年年底,和朋友开始一个做一个事情,需要在网络上搜索一些信息,现有的软件基本都不能满足我们的需求。于是就开始了新的软件项目,Smartgrab。
Smartgrab要解决的问题是,网络信息搜索的简易和便利性,量能保证搜索准确,并能够容忍被搜索的网页之间的极大差别。
为了做到这点SmartGrab把网页分析的规则抽象为模板,模板的制定是通过简易的GUI来实现,模板中的规则不是基于文本的分析而是主要是基于网页的DOM结构。搜索时,对每一个被搜索分析的网页的处理,首先基于其DOM结构和模板网页的DOM结构的比较,然后再按照模板规则中指定的要求进行处理。
技术上来说,这个软件比国内流行的搜索软件“火车头”要好一些,扩充性也更好。虽然不是当初的设计目标,Coolradio现有的歌词就是利用SmartGrab搜索的,程序运行了三天时间,主要受限是网络带宽和对端服务器的响应。搜索过程中,程序缓存了100万个网页地址,对其中的30万个进行目标地址信息进行处理,没有一个地址的处理出错,设置和测试搜索任务仅仅花了不到10分钟时间,远远超出我自己的预期。
另外,SmartGrab基于MFC/IE/GNU Diff开发。没有解决好的问题是当网页有错误的时候,无法屏蔽和处理掉网页的错误提示,变通的方法就是在运行程序前关闭IE的script功能,如果被搜索的网页的script有错的话。这个问题,我在MSDN的VC论坛上问了好久,也没有人给出一个比较好的解决办法,最终就成预留问题了。
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21150093/viewspace-1018997/ ,如需转载,请注明出处,否则将追究法律责任。