vba把json转数组中_网抓处理Json数据 | VBA实例教程
网抓处理Json数据 | VBA实例教程
2018-09-26
除非注明,文章均为 战战如疯 原创,转载请保留链接:http://www.zhanzhanrufeng.com/cat3/472.html,VBA交流群273624828。
之前网抓到的数据都直接用split处理了,今天好好研究了下处理Json形式的数据,拿个案例来分享一下。
要抓的数据是http://www.okooo.com/soccer/match/680903/odds/,这个网页取数据很简单,GET就可以,主要是数据取下来的怎么处理。
Private Sub GetData1()
Dim tt As String, winhttp, t1, arr, i, v
Set winhttp = CreateObject("Microsoft.XMLHTTP")
With winhttp
.Open "GET", "http://www.okooo.com/soccer/match/680903/odds/ajax/?page=0&all=1&companytype=BaijiaBooks&type=1 ", False
.send
t1 = .responsetext
Debug.Print t1
i = 1
arr = Split(Split(Split(t1, "data_str = "")(1), "";var pageData")(0), "";")
strJSON = arr(0)
Set objSC = CreateObject("ScriptControl")
objSC.Language = "JScript"
strFunc = "function getjson(s) { return eval("(" + s + ")"); }"
objSC.AddCode strFunc
Set objJSON = objSC.CodeObject.getjson(strJSON)
For Each v In objJSON
n = n + 1
Cells(n, 1) = v.CompanyName
Cells(n, 2) = v.End.home: Cells(n, 3) = v.End.draw: Cells(n, 4) = v.End.away
Cells(n, 5) = v.Radio.home: Cells(n, 6) = v.Radio.draw: Cells(n, 7) = v.Radio.away
Cells(n, 8) = v.Kelly.home: Cells(n, 9) = v.Kelly.draw: Cells(n, 10) = v.Kelly.away
Next
End With
End Sub
上面是取所有的数据。
Private Sub GetData()
Dim tt As String, winhttp, t1, arr, i, v
"Set winhttp = CreateObject("WinHttp.WinHttpRequest.5.1")
Set winhttp = CreateObject("Microsoft.XMLHTTP")
With winhttp
".SetProxy 2, "14.18.16.67:80"
.Open "GET", "http://www.okooo.com/soccer/match/680903/odds/ajax/?page=0&companytype=BaijiaBooks&type=1", False
.send
t1 = .responsetext
With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.SetText t1
.PutInClipboard
End With
i = 1
arr = Split(Split(Split(t1, "data_str = "")(1), "";var pageData")(0), "";")
strJSON = arr(0)
Set objSC = CreateObject("ScriptControl")
objSC.Language = "JScript"
strFunc = "function getjson(s) { return eval("(" + s + ")"); }"
objSC.AddCode strFunc
Set objJSON = objSC.CodeObject.getjson(strJSON)
Set oRow = CallByName(objJSON, 0, VbGet)
With oRow
Cells(1, 1) = .CompanyName
Cells(1, 2) = .End.home
Cells(1, 3) = .End.draw
Cells(1, 4) = .End.away
Cells(1, 5) = .Radio.home
End With
End With
End Sub
这是只取某一行的数据。
Private Sub GetData2()
Dim tt As String, winhttp, t1, arr, i, v
"Set winhttp = CreateObject("WinHttp.WinHttpRequest.5.1")
Set winhttp = CreateObject("Microsoft.XMLHTTP")
With winhttp
".SetProxy 2, "14.18.16.67:80"
.Open "GET", "http://www.okooo.com/soccer/match/680903/odds/ajax/?page=0&companytype=BaijiaBooks&type=1", False
.send
t1 = .responsetext
i = 1
arr = Split(Split(Split(t1, "data_str = "")(1), "";var pageData")(0), "";")
strJSON = arr(0)
Debug.Print strJSON
Set objSC = CreateObject("ScriptControl"): objSC.Language = "JScript"
"strFunc = objSC.eval(" eval("" & strJSON & " ")[0].CompanyName")
Set strFunc = objSC.eval(" eval("" & strJSON & " ")[0]")
"Set strFunc = objSC.eval(" eval("" & strJSON & " ")")
MsgBox strFunc.CompanyName
End With
" Stop
End Sub
这是处理Json的另一种方式,只抓某行,抓所有还是用for each循环,不再赘述。
1
您可能也喜欢:
东方财富网数据的JSON处理方法
VBA处理JSON实例
东方财富网eastmoney数据采集
SQL之删除数据
VBA中数据透视表应用
处理XML实例-股票历史数据下载
澳客网竞彩数据下载
VBA汇总多表的表头信息及数据
无觅关联推荐[?]
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。
http://www.pinlue.com/style/images/nopic.gif
vba把json转数组中_网抓处理Json数据 | VBA实例教程相关推荐
- java怎么把数据封进对象里_(Java)想把数组中一条一条的数据全部放入对象中去..要怎么做呢...
展开全部 Java把数组中一条一条的数据全部放入对象中去操作如下: 1.先获取到数组中的数据dataArray数据. 2.接32313133353236313431303231363533e58685 ...
- numpy使用[]语法索引二维numpy数组中指定指定行之后所有数据行的数值内容(accessing rows in numpy array after specifc row)
numpy使用[]语法索引二维numpy数组中指定指定行之后所有数据行的数值内容(accessing rows in numpy array after specifc row) 目录
- numpy使用[]语法索引二维numpy数组中指定指定行之前所有数据行的数值内容(accessing rows in numpy array before specifc row)
numpy使用[]语法索引二维numpy数组中指定指定行之前所有数据行的数值内容(accessing rows in numpy array before specifc row) 目录
- numpy使用[]语法索引二维numpy数组中指定指定列之后所有数据列的数值内容(accessing columns in numpy array after specifc column)
numpy使用[]语法索引二维numpy数组中指定指定列之后所有数据列的数值内容(accessing columns in numpy array after specifc column) 目录
- js从数组中提取自己所需的数据
1.场景一: 人员选择相关问题 /* 场景一:从人员选择数据中,提取已选的人员信息selectedList为已选择的人员信息,只有idgroupInfo接口返回的原始数据,所有人员信息需要找出已选择的 ...
- android 字体颜色选择,Android中颜色选择器和改变字体颜色的实例教程
易采站长站为您分析Android中颜色选择器和改变字体颜色的实例教程,其中改变字体颜色用到了ColorPicker颜色选择器,需要的朋友可以参考下 1.构建一张七彩图: 我们经常看到这种样子的颜色选择 ...
- vba把json转数组中_JavaScript 中的“黑话”
(给前端大全加星标,提升前端技能) 作者:vv13 https://segmentfault.com/a/1190000016595592 因为球是圆的,所以不论发生什么都有可能,对这点我是深信不疑的 ...
- 数组转json去除首尾引号_诞生于JavaScript,json的前世今生
诞生于JavaScript,json的前世今生 json含义 在开始之前,问个问题,什么是json? a:我猜它应该是某一门高深的技术(语重心长) b:json这个词为啥谷歌翻译?是啥新词语嘛?是不是 ...
- 读入的字节都写入字节数组中_使用Java将文件读入字节数组的7个示例
读入的字节都写入字节数组中 嗨,大家好,Java程序员经常在现实世界中遇到编程问题,他们需要将文件中的数据加载到字节数组中,该文件可以是文本文件或二进制文件. 一个示例是将文件的内容转换为String ...
- 在json或数组中利用find方法实现根据value值获取key值的过程
前言 在项目开发的过程中有时候会遇到这种情况:预先定义的对象数组或者json对象,后端返回了一个value值,而你需要用的是key值,后端又没有办法返给你key值,这个时候就需要自己根据value ...
最新文章
- python3 numpy. ndarray 与 list 互转方法
- 一个转角---程序猿
- 用Linux虚拟机手工编译安装Apache
- 【C++ Primer】类的多态
- 利用栈将html源码解析为节点树
- 密码学基础(三):非对称加密(RSA算法原理)
- 【转】ubuntu12.04完美安装QQ2012、QQMusic、Foxmail等--wine
- 开源软件的总拥有成本指南
- 数据挖掘:实用案例分析
- 目标检测(二):OverFeat
- 如何把root登陆的shell改为csh?
- 为什么会出现慢SQL
- Java生鲜电商平台-异常模块的设计与架构
- CSP题目:小明种苹果树
- anki卡片浏览器_Anki Guide by Corkine
- 年底了,一起来撸个视频播放器吧!
- IntelliJ Idea SpringBoot 数据库增删改查实例
- RadAsm更换主题
- 好用的视频消重 如何查看视频md5
- 父亲节简约实PPT模板——免费下载