博客
关于我
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 Windows显示当前鼠标坐标
    查看>>
    python Workbook 表格宽度
    查看>>
    python | flanker,一个神奇的 Python 库!
    查看>>
    python | flower,一个强大的 Python 库!
    查看>>
    python | funcy,一个超强的 提供函数式编程工具 Python 库!
    查看>>
    python | ggplot,一个超强的 Python 库!
    查看>>
    python | grab,一个强大的 Python 库!
    查看>>
    python | h5py,一个无敌的关于 HDF5 的 Python 库!
    查看>>
    python | huey,一个非常厉害的 任务调度 Python 库!
    查看>>
    python | hypothesis,一个有趣的 Python 库!
    查看>>
    python | Indico,一个超酷的 Python 库!
    查看>>
    python | isort,一个有趣的 自动整理导入语句 的Python 库!
    查看>>
    python | jinja,一个超酷的 Python 库!
    查看>>
    python | joblib,一个强大的 Python 库!
    查看>>
    python | jsonschema,一个实用的 验证 JSON 数据结构 Python 库!
    查看>>
    python | lxml,一个超酷的 关于XML/HTML 文档 Python 库!
    查看>>
    python | mplfinance,一个有趣的金融数据可视化 Python 库!
    查看>>
    python | nipy,一个强大的关于 神经影像数据分析 的Python 库!
    查看>>
    python | pendulum,一个有趣的 日期和时间 Python 库!
    查看>>
    python | pluginbase,一个神奇的 关于插件框架 的Python 库!
    查看>>