宜昌交通查询系统:使用VB编写关键字批量获取工具

来源:百度文库 编辑:中财网 时间:2024/04/29 11:34:41

楚吟风同学最近也在关注SEO,了解到需要根据核心关键字获取大量长尾关键字,再根据长尾组织内容。明晨SEO相关关键字批量分析器应运而生。

一般通过抓取搜索框的关键字建议来实现。有这种搜索建议功能的站点包括各大搜索引擎,还有淘宝、京东等大型电商门户。

抓取搜索建议是非常简单的,直接使用firebug、HttpAnalyzer之类的工具抓包即可。



稍微麻烦的有两点:1、如何使用插件方式扩展功能,以扩展兼容发现的新站点;2、在站点协议改变之后,如何快捷方便地更新抓取算法。

DLL封装,可以实现扩展,但是更新之后需要重新编译,而且VB重新载入DLL比较繁琐,所以考虑使用VBS脚本来实现。

在VB中使用ScriptControl作为vbs脚本宿主,约定好调用方式,即可通过改VBS脚本来实现主要逻辑。主要使用了cls_vbsPlugin和cls_vbsPluginCallBack两个类模块来协同宿主与脚本之间的相互调用及回调。

 

VB下的异步下载不太好维护。利用XMLHTTP组件,打开异步模式,可以同时管理大量HTTP请求,而不会占用太多的CPU和内存。这里封装了cls_OpenUrl类来实现,并发1000毫无压力。

 

程序启动时,首先从指定的地址下载VBS脚本算法并载入主程序模块,再根据用户设置开始抓取分析。

 

为了防止重复抓取,起初使用遍历循环比较当前关键字是否获取到,后来发现,当抓取结果达到1万甚至10万级别时,每次比较的时间会指数级上升。

遂考虑采用数据库去重、文件名去重,略加思索就觉得不划算。

然后又考虑维护一个类似PHP中的HASH关联数组,保证KEY的唯一性,正要动手做,突然想起VB的Scripting.Dictionary就是KEY唯一的,直接调用Exists方法即可。

 

测试了以下最后的成品,颇觉满意。XMLHTTP的并发异步下载,速度相当之快!Dictionary字典,HASH结构,1万字词也用不了几M内存,数据定位也是相当迅捷!ScriptControl脚本引擎,方便省心!VB编程,敏捷高效,绿色干净,解压即用。由于自身SEO指导思想不够深入,并且主要是为了解决自身需求,这个小程序虽然性能比市面上同类要好,但是功能却不一定受喜欢。希望以后能在SEO高手指点下,编写出更实用的免费SEO工具。楚吟风 http://www.chuyinfeng.com QQ:112704422  。明晨SEO相关关键字批量分析器放在明晨网络 http://www.mingchennet.com

 

下一步打算做个伪原创识别程序,欢迎继续关注楚吟风的马甲么么茶http://hi.baidu.com/cnoldjohn