VB:如何通过VB获取某个网站的所有页面源代码?
1个回答
展开全部
两种实现方式:
1、先用WebBrowser控件、iNet控件或xmlhttp组件获取网站首页代码(这个网上有一大堆介绍,就不啰嗦了),然后分析代码,找出其中的超链接,然后再逐个获取其页面代码,这里要注意的是,要区分外链和内链,外链就不要去获取代码了(否则的话如果网站上有个百度的链接,那么你的程序就要去获取百度的页面了);另外还要控制获取的层数(比如说一级子页面是第二层,二级子页面是第三层),否则的话遇到大型网站你的程序很可能进入死循环。
2、利用浏览器的缓存来获取,主要是IE的缓存。windows系统有专门的对IE缓存进行读写操作的API函数。要想获取某个网站的源码,可以用IE打开这个网站,然后把里面的链接都手工点击一遍,使页面代码能被IE自动放入缓存文件夹中即可。当然,如果网站比较大,这个过程可能会比较繁复。然后再通过程序遍历IE的整个缓存系统,把与该网站相关的所有资源都提取出来。通过这种方法,不但可以提取HTML代码,还有js代码、css代码,以及页面上的所有图片、动画、视频等资源。我个人比较喜欢这种方法。
1、先用WebBrowser控件、iNet控件或xmlhttp组件获取网站首页代码(这个网上有一大堆介绍,就不啰嗦了),然后分析代码,找出其中的超链接,然后再逐个获取其页面代码,这里要注意的是,要区分外链和内链,外链就不要去获取代码了(否则的话如果网站上有个百度的链接,那么你的程序就要去获取百度的页面了);另外还要控制获取的层数(比如说一级子页面是第二层,二级子页面是第三层),否则的话遇到大型网站你的程序很可能进入死循环。
2、利用浏览器的缓存来获取,主要是IE的缓存。windows系统有专门的对IE缓存进行读写操作的API函数。要想获取某个网站的源码,可以用IE打开这个网站,然后把里面的链接都手工点击一遍,使页面代码能被IE自动放入缓存文件夹中即可。当然,如果网站比较大,这个过程可能会比较繁复。然后再通过程序遍历IE的整个缓存系统,把与该网站相关的所有资源都提取出来。通过这种方法,不但可以提取HTML代码,还有js代码、css代码,以及页面上的所有图片、动画、视频等资源。我个人比较喜欢这种方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询