使用過最新版火車采集器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,功能全面且易用,新手朋友們多多聯系,一定能快速上手,如還有疑問或其他問題請隨時聯系官方客服為您解答哦!
