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

    你可能感兴趣的文章
    nginx 后端获取真实ip
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    nginx 常用配置记录
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    Nginx 的 proxy_pass 使用简介
    查看>>
    Nginx 的配置文件中的 keepalive 介绍
    查看>>
    nginx 配置 单页面应用的解决方案
    查看>>
    nginx 配置~~~本身就是一个静态资源的服务器
    查看>>
    Nginx下配置codeigniter框架方法
    查看>>
    nginx添加模块与https支持
    查看>>
    Nginx的Rewrite正则表达式,匹配非某单词
    查看>>
    Nginx的使用总结(一)
    查看>>
    Nginx的是什么?干什么用的?
    查看>>
    Nginx访问控制_登陆权限的控制(http_auth_basic_module)
    查看>>
    nginx负载均衡的五种算法
    查看>>
    Nginx配置ssl实现https
    查看>>
    Nginx配置TCP代理指南
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NI笔试——大数加法
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>