powerbuilder能否用于写爬虫或者蜘蛛?

网络

今天被一位pb混淆器客户咨询到关于爬虫(或者蜘蛛)的问题。问pb能否开发?

回答是:不方便用pb,可以用开源的框架或者其他多线程语言写。pb开发网络执行效率低,另外单线程效率低,还有就是对于字符串这种东西,免不了底层要进行非常大量的处理,比较过滤检索提取。这个pb也不行,低到底了。

我曾经用c#实现过一个抓取企业黄页联系资料的一个案例。当时是作为学习。

开发语言是c#。效果还不错。抓取后的资料按数据库规划的栏位放入。前台可以用任何语言包括pb来查询,并可以再次加工。

大致的方式是:

1)先给初始网址列表当然可以一个,可以多个。

2)分析进程进行分析,解析其中的网址放入网址库列表,并初始化一个是否检索的标记。

3)抓取进行取网址,并进行多线程抓取(适当吧,你太离谱也不行,而且可以适当错开不同的网页或者不同的网站,不要密集到一个网站),放入网页库。

4)网页库被2进程拿去分析里面的链接。

5)网页被网页挖掘进程来分析解析里面的内容,内容取到文件系统或者数据库保存。如果类似黄页这样的网站,基本是有一定的格式化的。所以用模版匹配再加以特殊处理就行。当然互联网是开放式的,保不准格式不同,需要更多的适应。可以给网页分多少个类型来分别处理。

这个工作量,工作效率就大了。建议最好是c这样的语言来处理。

这就是为什么google的索引技术核心还是c,c++的。因为效率,然后适应linux服务器硬件。而它的前台查询和其他的技术是多种语言的集合。

6)还包含对于状态的显示,这个必须得有个总控画面,能看到哪一部分工作到什么程度了。比如网址分析进程现在休息了没有可分析的了。抓取的今天抓了多少,现在抓到哪一个网页了。总体的效率如何,频率低还是高,怎么平衡这些。

深入研究,就可以这样开发。

一般的玩玩的门外汉,就下载个开源的装装吧。当然也可以深入去了解改造,就能进阶了。

当然最后说,之前开源的也去看过,有些是为了后续的好维护,采用了类似java啊这样的语言。有的是非常讲究考究的框架,优雅的代码。离真正的商业化的爬虫肯定还是有相当远的距离的。

最后就是说,找自己熟悉的语言的开源的,来学习和改造比较现实。读懂,改好,能就干。