好久没有上csdn了,最近工作还是非常忙,对不住XDJM们了 最近一直在编写一款电影管家程序,其中有个功能就是: 用户输入一个关键字(一般是电影名),然后程序就自动到某网站(保密,免得被河蟹)采集所需的数据,其实就是用代码去下载网页源码,然后要么正则,要么直接字符串数组解析。 现在最最难的地方就是:这个电影网站是Ajax构架的,网页源码用常规方法直接获取的话,根本得不到完整的源码或者能得到处理起来也繁琐(Webbrowser控件),动态加载的部分还在娘胎里呢 注: 一般的得网页源码常规方法: 1.Inet控件(得不到完整源码) 2.Webbrowser控件(可以得到,但是处理繁琐,老是判断不好是否完全加载) 3.Winsock控件(得不到完整源码) 4.XmlHtpp组件(得不到完整源码) 5.API直接下载远程网页(一样得不到完整源码) 6.... 好了,废话不多说了,那怎么样既能得到完整我源码,又处理起来非常方便呢? 我在网上也找了好久好久了,百度、谷歌...都没能找到有效的解决方案,今天突然直接灵感一现,想到了一种目前算非常完美的解决方法。既然Webbrowser控件能加载完整的源码,那我自然就想到了咱们每天在用的IE浏览器了(我现在用的是谷歌浏览器Chrome) 我们的IE和Webbrowser有着相当紧密的联系,具体多紧密那就要问问微软了,有木有? 用com对象动态创建技术,即可在VB程序中创建一个IE,然后访问需要的网址,等待加载完毕,然后就可以十分方便地得到完整的源码,是不是很诱人啊?呵呵... 现在给出核心源码: Visual Basic code?
呵呵,怎么样?以上简短的代码几乎可以解决所有网页源码的下载难题!最重要的是:它可以突破Ajax! 好了,诚接板砖中... |
|