博客
关于我
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/

    你可能感兴趣的文章
    python+flask计算机毕业设计高校危化品管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校校园线上跳蚤市场的系统设计(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校疫情防控管理平台(程序+开题+论文)
    查看>>
    Python+Jenkins+Allure Report接口自动化测试持续集成
    查看>>
    python+locust电商全流程性能测试
    查看>>
    Python函数运行的可执行文件的终端输出如何以一般方式静音?
    查看>>
    Python+Pytest+Allure+Git+Jenkins接口自动化框架
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    Python+pytest接口自动化 —— 接口测试基础
    查看>>
    python+pytest接口自动化 —— 自动化用例编写思路 (使用pytest编写一个测试脚本)
    查看>>
    Python+pytest接口自动化之cookie绕过登录(保持登录状态)
    查看>>
    python+pytest接口自动化:接口测试
    查看>>
    Python+requests+unittest执行接口自动化测试详情
    查看>>
    Python+requests+unittest执行接口自动化测试详情
    查看>>
    python+requests+unittest执行自动化接口测试!
    查看>>
    Python+Requests编码识别Bug
    查看>>
    python函数编写_[零基础学python]传说中的函数编写条规
    查看>>
    Python+selenium —— UI自动化之鼠标操作
    查看>>
    python函数注释,参数后面加冒号:,函数后面的箭头→是什么?
    查看>>