打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
迄今为止最完美的VB网页采集方案(附核心代码)
           好久没有上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?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function GetFullHtml(vURL As StringAs String
     
    Dim ie As Object
    Dim element As Object
     
    Set ie = CreateObject("InternetExplorer.Application")
     
    With ie
        .Visible = False
        .navigate vURL
        Do Until .Readystate = 4
            DoEvents
        Loop
        GetFullHtml = .Document.body.innerhtml
    End With
    Set ie = Nothing
     
End Function


呵呵,怎么样?以上简短的代码几乎可以解决所有网页源码的下载难题!最重要的是:它可以突破Ajax!
好了,诚接板砖中...
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VB功能模块:最全的VB操作网页功能模块
利用VB实现验证码识别
VB网络编程(webbrowser+Inet+抓包封包+经验)
VB关于webbrowser相关操作大全
禁止IE弹出网页和屏蔽网页原理
Delphi WebBrowser控件的使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服