JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
网页和移动端APP都大量采用JSON与服务器交换数据,因此,运营人员需要熟悉JSON数据格式,能够采集其中包含的有用信息,并导入到Excel表格。
以下是一个JSON数据包的示例。
{ "list": [{ "id": "21340284224", "title": "ROMOSS/罗马仕 sense4 正品10000+毫安移动电源 手机通用充电宝", "marketPrice": 59.0, "price": 59.0, "acm": "03054.1003.1.971095", "isContract": false, "img": "//img.alicdn.com/bao/uploaded/TB1oR_LKFXXXXcdXVXXXXXXXXXX_!!0-item_pic.jpg", "_pos_": 1, "entityType": "ITEM", "scm": "1007.12559.40794.100200300000000", "url": "//detail.tmall.com/item.htm?id=21340284224&pvid=6ee7a984-ab5d-468f-90cb-9a07993ccf79&abbucket=_AB-M32_B5&acm=03054.1003.1.971095&aldid=x3eJR2EH&abtest=_AB-LR32-PR32&scm=1007.12559.40794.100200300000000&pos=1", "activityTag": false }, { "id": "41403621283", "title": "ROMOSS罗马仕 炫彩纤薄聚合物移动电源 充电宝通用 5000毫安", "marketPrice": 49.0, "price": 49.0, "acm": "03054.1003.1.971095", "isContract": false, "img": "//img.alicdn.com/bao/uploaded/TB18AZRIVXXXXb5XXXXXXXXXXXX_!!0-item_pic.jpg", "_pos_": 2, "entityType": "ITEM", "scm": "1007.12559.40794.100200300000000", "url": "//detail.tmall.com/item.htm?id=41403621283&pvid=6ee7a984-ab5d-468f-90cb-9a07993ccf79&abbucket=_AB-M32_B5&acm=03054.1003.1.971095&aldid=x3eJR2EH&abtest=_AB-LR32-PR32&scm=1007.12559.40794.100200300000000&pos=2", "activityTag": false }] }
在浏览器地址栏输入https://cdn.dianshangji.com/info_extconfig.html
,你将看到如下内容。点击“安装”,在开发者模式下安装数据采集功能模块。
安装成功则提示“OK”,然后点击“打开”,软件将打开一个页面https://cdn.dianshangji.com/ext_collectjson.html
,用于显示用户浏览的每个网页的JSON数据包。
本页面https://cdn.dianshangji.com/ext_collectjson.html
显示当前浏览器中每个网页所传输的JSON数据包。用户可在浏览任一网页后,回到本页面,点击“刷新列表”进行查看。
浏览器新开一个页面,输入http://m.zhe800.com
,显示折800网站的移动端网页。
为了使浏览器模拟成IPhone6手机浏览器,请按键盘F12,并按照下图所示,点击手机图标,然后按箭头所指选择设备类型(responsive/device)为“iphone6”,最后按键盘F5刷新一下页面。如果再按键盘F12,则切换回正常浏览模式。
浏览器页面切换到https://cdn.dianshangji.com/ext_collectjson.html
,点击“刷新列表”,可以看到http://m.zhe800.com
页面下共有6个JSON数据包。
点击图标4,即第4个数据包查看内容。
第4个数据包的内容如图所示,是折800首页的banner所使用的JSON数据。初步观察,是一个数组,每个元素代表banner的图片、标题和链接等。
点击“导出数据”,将该JSON数据包的内容导出至后台运行的电商记智能引擎,随后再进一步导入至Excel表格中。
第9页~第11页讲述如何在Excel 2010加载智能引擎。
第12页~第16页讲述如何在Excel 2003/2007加载智能引擎。
用户根据自己使用的Excel版本查看相应步骤。
为了将智能引擎的内存数据导入Excel 2010表格,需在Excel 2010中安装一个插件(addin),即“加载项”。
打开Excel 2010,点击“文件”菜单,然后点击“选项”,调出下图界面。点击“加载项”,然后点击“转到”按钮。
在如图所是“加载宏”窗口中,点击“浏览”,然后在浏览窗口中选择智能引擎安装目录的data\desktop
文件夹,选中电商记数据导入导出工具.xla
文件。
点击Excel 2010的“加载项”菜单,应看到导入JSON数据包
按钮,表明Excel插件安装成功。
第12页~第16页讲述如何在Excel 2003/2007加载智能引擎。
为了将智能引擎的内存数据导入Excel 2003/2007表格,需在Excel 2003/2007中安装一个插件(addin),即“加载项”。
以Excel 2003为例,点击“工具”菜单,选择“加载宏”。
在“加载宏”窗口中点击“浏览”,然后在浏览窗口中打开智能引擎安装目录下的data\desktop
文件夹。
选择电商记数据导入导出工具
文件。
在”加载宏“窗口,可以看到多了一项电商记数据导入导出工具
,点击“确定”。
在Excel的工具栏中多了一项导入JSON数据包
按钮,表明Excel插件安装成功。
点击Excel 2003/2007/2010的导入JSON数据包
按钮,将新建一个表格,自动导入智能引擎当前内存中的所有JSON数据包。
Excel表格“sheet4”可以看到第7页中的折800首页banner数据。第一行是列名称title,page,src,time,json
,分别代表JSON数据包的网页标题、网页链接、数据包来源网址、采集时间、JSON内容。
按照第5页~第8页的操作,可对任何网站的页面采集JSON数据。
当智能引擎的内存具有1个或多个数据包时,可在Excel中一次性批量导入,每个数据包占据Excel表格的一行。若智能引擎内存为空,则显示如下。
本单元论述的JSON数据采集功能,适用于任何网页。为进一步熟练操作,请自行挑选一些常用网站,按照第5页~第8页的操作进行练习。
***件已抢
的信息随着时间推移产生数量上的变化,由此估算出宝贝在任一时间段产生的销量。https://h5.m.taobao.com/purchase/index.html
页面,只需重复点击JSON数据包编号,即可多次采集即时数据,并导出至智能引擎。在练习过程中,注意观察网页的链接、JSON数据包的来源网址、JSON数据包的内容(详见参考答案),为以后实现自动化采集做准备。VBScript是Visual Basic脚本编程语言的简称,语法较为简单,在Excel环境中常用于办公自动化,简称VBA。Excel不仅使用公式进行表格数据的计算,还可以使用VBA进行数据的自动化统计、分析、绘图等多种工作。第17页运行的”导入JSON数据“按钮,就是采用了十多行VBScript代码,从智能引擎读取数据,并放入表格单元。
下面是一段简单VBScript代码示例,其作用是将A1和B1两个单元格的内容交换一下。
Dim temp As Double temp = Range("A1").Value Range("A1").Value = Range("B1").Value Range("B1").Value = temp为了进行VBA编程,需要在Excel打开Visual Basic编辑器。下面第22页~第24页讲述如何在Excel 2010和Excel 2003/2007中打开Visual Basic编辑器。
点击”文件“菜单,然后点击”选项“,在选项窗口中点击”自定义功能区“,在左侧”所有选项卡“中找到”开发工具“,将其”添加“到右侧的自定义功能区列表中。
点击”开发工具“功能区,然后点击“Visual Basic”按钮。
点击”工具“菜单,然后选择“宏”菜单,点击“Visual Basic编辑器”。
在Visual Basic编辑器的左上角工程列表中,选中“dianshangji_exceladdin”,为防止误操作,脚本代码设置了密码保护,输入dianshangji
即可解除保护。
在“dianshangji_exceladdin”的模块目录下点击“JsonImporter”,右侧代码编辑区域显示对应的VBScript代码。图示框中包含的代码,实现了基本的导入JSON数据到表格单元的功能。
本单元论述的VBScript编程技能,适用于处理任何数据。VBScript在后面的训练单元中被广泛使用,它是实现数据化运营的核心工具之一。为进一步熟悉VBScript,请在Visual Basic编辑器中自行编写并运行一些简单的代码,进行高阶练习。
***件已抢
的信息随着时间推移产生数量上的变化,由此计算出宝贝在任一时间段产生的销量。https://h5.m.taobao.com/purchase/index.html
页面,只需定期(如每15分钟)重复点击JSON数据包编号,即可多次采集即时数据,并按照第8页和第17页的内容批量导入到Excel表格中。json
列的内容中提取出每个宝贝的itemId,salePrice,startTime,endTime,itemSoldNum
数值,统一存入新的表格。