使用过最新版火车采集器V9的朋友应该都发现V9新增了json提取的功能,但是许多使用抓取网页数据工具的朋友在操作此功能的时候都会觉得有点弄不明白,这里特意为大家整理了json提取的教程示例,感兴趣的朋友可以仔细研究一下。
首先大家需要明白JSON 是有两种结构,简单的说json就是javascript中的对象和数组,所以这两种结构就是对象和数组两种,通过这两种结构可以表示各种复杂的结构。下面具体说明一下。
1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为属性值,所以很容易理解,取值方法为对象key 获取属性值value,这个属性值的类型可以是数字、字符串、数组、对象几种。
2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
经过对象、数组2种结构就可以组合成复杂的数据结构了。如下:
{ "name": "中国", "province": [{ "name": "黑龙江", "cities": { "city": ["哈尔滨", "大庆"] } }, { "name": "广东", "cities": { "city": ["广州", "深圳", "珠海"] } }, { "name": "台湾", "cities": { "city": ["台北", "高雄"] } }, { "name": "新疆", "cities": { "city": ["乌鲁木齐"] } }] }
我们可以借助工具http://tool.oschina.net/codeformat/json 测试是否是JSON,格式化后如图:
下面举例说明JSON提取的2种方式:
1、JSON数据源:URL网址
如我们需要对JSON网址http://car.interface.autohome.com.cn/dealer/LoadDealerPrice.ashx?_callback=LoadDealerPrice&type=1&seriesid=3170&city=340100 做采集
分析得出:此URL的整个源代码是个完整的JSON。 所以JSON数据源选择 URL网址然后勾选循环匹配,就可以采集到整个JSON里的数据。
如图:
2、JSON数据源:JSON文本: 另外一种情况,网址里的源码不全是JSON,而只是一部分代码是JSON形式,此时我们需要提取出这段JSON文本,然后再格式化。例如网址 http://car.autohome.com.cn/config/series/3170.html
所以我们需要通过多页的形式,来获取本页地址里这部分JSON代码,然后再设置JSON表达式。
如图:
按照上面的步骤,两种JSON提取就完成了,广大用户朋友们是不是觉得简单又好用,所以抓取网页数据工具首选火车采集器V9,功能全面且易用,新手朋友们多多联系,一定能快速上手,如还有疑问或其他问题请随时联系官方客服为您解答哦!