博客
关于我
VBA网抓字符转换
阅读量:299 次
发布时间:2019-03-03

本文共 779 字,大约阅读时间需要 2 分钟。

VBA虽然不是专业的爬虫工具,但在处理和分析网页数据时,尤其是删除后续数据时,经常会使用VBA来实现简单的网页数据抓取。有时候,在网页中看到的内容,使用浏览器的“审查元素”功能可以看到原始内容,但用代码抓取回来时,只能得到如下的字符串,内容完全无法识别。这种情况的原因是网页中使用了UTF编码,浏览器可以自动转换为中文字符,而HTML源码则显示为字符的十六进制表示。

既然已经抓取到了UTF编码的字符,如何在VBA中将其转换为中文呢?VBA中有StrConv函数可以实现Unicode转换,但由于网页中通常使用十六进制表示,VBA中还需要借助工作表函数进行进制转换,这个过程虽然可行,但有些繁琐。

处理HTML数据最方便的工具是JavaScript。在VBA中调用JavaScript可以实现这个转换。以下是一个实现字符串与十六进制转换的示例代码:

Sub JSDemo()    Dim strCN, strHex, strNew    With CreateObject("MSScriptControl.ScriptControl")        .Language = "javascript"        strJSCode = "function StrToHex(r){for(var t='',n=0;n

【代码解析】

  • 第3行代码创建了一个ScriptControl对象。
  • 第4行代码指定了脚本语言为JavaScript。
  • 第5行到第8行添加了两个JavaScript函数,StrToHex用于将字符串转换为UTF编码,HexToStr用于将UTF编码转换为字符串。
  • 第9行指定了测试字符串。
  • 第14行输入了转换结果。
  • 通过这种方式,可以在VBA中实现网页数据的字符转换和分析。虽然不是最优解,但对于简单的网页数据处理,仍然可以满足需求。

    转载地址:http://pdjl.baihongyu.com/

    你可能感兴趣的文章
    PHP学习总结(9)——PHP入门篇之WAMPServer服务控制面板介绍
    查看>>
    php学习笔记---php调试和开发工具整理
    查看>>
    PHP学习笔记一:谁动了你的mail(),PHP?
    查看>>
    PHP安全实战
    查看>>
    php安装扩展
    查看>>
    rabbitmq重启
    查看>>
    php实现上传(多个)文件函数封装
    查看>>
    php实现下载文件方法
    查看>>
    php实现单链表
    查看>>
    php实现图片背景换色功能
    查看>>
    php实现多个一维数组对应合并成二维数组
    查看>>
    php实现多关键字查找方法
    查看>>
    PHP实现微信公众号H5支付
    查看>>
    PHP实现微信公众号网页授权
    查看>>
    PHP实现微信小程序推送消息至公众号
    查看>>
    rabbitmq逻辑与开发
    查看>>
    php实现根据身份证获取年龄
    查看>>
    PHP实现的MongoDB数据增删改查
    查看>>
    PHP实现的SSO单点登录系统,拿走就用吧
    查看>>
    php实现短信验证功能
    查看>>