vba xmlhttp 抓取网页(获取网页数据链接、识别汉字编码、转换和处理字符串并得到所需要的简单方法)
优采云 发布时间: 2021-09-18 05:00vba xmlhttp 抓取网页(获取网页数据链接、识别汉字编码、转换和处理字符串并得到所需要的简单方法)
第1课小结:
通过一个示例,本课程介绍获取网页数据链接、识别汉字编码、转换和处理字符串以及获取所需数据的简单方法。下课后,请找到网站更多的测试和练习如何使用数据包捕获软件以及获取字符串后使用split等函数提取数据的基本技能
在实际的网页采集中,我们经常会遇到比示例复杂几倍甚至几十倍的网页网站. 完整的web采集程序需要处理以下问题:
1、如有必要,登录至网站。可能需要验证码(需要图像采集和OCR识别)
2、找到网站的初始链接,并获取隐藏的提交信息,如Cookie或viewstate,以准备提交真实的数据链接
3、如有必要,查找网站中文的设置方法,可以直接写入链接、提交的参数中,或在特殊语言设置链接提交中
4、找到网站的数据链,抓取包裹,获取参考值,解防盗链
5、处理初始网页并获取后续数据链接提交所需的参数(可能没有或很多)
6、处理网站数据链路的提交参数(可能有时间戳),该参数可能处于get模式或post模式。后者还处理URLEncode编码或其他形式的编码(在UTF-8编码的情况下,xmlhttp将自行处理;winhttp可以通过参数选择URL编码的格式)
7、判断网站返回数据的编码,并将其处理为可识别的字符串(可能需要htmlfile对象来快速操作HTML文档中的表等)
8、处理需要采集数据的字符串。可以从中提取页码,可以提取下一页的参数,并且可以以数组的形式提取所需信息(特别是对于网页表)
9、循环6~8,直到完成数据提取
事实上,不管网站有多复杂,获取数据的基础只不过是两点:
1、捕获数据包,查看链接、cookie、引用、post参数、隐藏提交参数、MD5或RSA加密参数等,然后模拟提交
2、进程编码和提取字符串
只要你掌握了这两个基本步骤,再加上充足的时间、坚定的信念、充分的耐心和一点运气,网页采集的工作就会很容易解决
相信我
文中还介绍了用VBA调用JS函数的几种方法