精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

數(shù)據(jù)提取之JSON與JsonPATH

開(kāi)發(fā) 前端
我們知道再爬蟲的過(guò)程中我們對(duì)于爬取到的網(wǎng)頁(yè)數(shù)據(jù)需要進(jìn)行解析,這次我們來(lái)介紹一下另一個(gè)數(shù)據(jù)解析庫(kù)--jsonpath,在此之前我們需要先了解一下什么是json。

[[437281]]

背景介紹

我們知道再爬蟲的過(guò)程中我們對(duì)于爬取到的網(wǎng)頁(yè)數(shù)據(jù)需要進(jìn)行解析,因?yàn)榇蠖鄶?shù)數(shù)據(jù)是不需要的,所以我們需要進(jìn)行數(shù)據(jù)解析,常用的數(shù)據(jù)解析方式有正則表達(dá)式,xpath,bs4,這次我們來(lái)介紹一下另一個(gè)數(shù)據(jù)解析庫(kù)--jsonpath,在此之前我們需要先了解一下什么是json。

一、初識(shí)Json

JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,它使得人們很容易的進(jìn)行閱讀和編寫。同時(shí)也方便了機(jī)器進(jìn)行解析和生成。適用于進(jìn)行數(shù)據(jù)交互的場(chǎng)景,比如網(wǎng)站前臺(tái)與后臺(tái)之間的數(shù)據(jù)交互。

Python 2.7及之后版本,自帶了JSON模塊,直接import json就可以使用了。

官方文檔:http://docs.python.org/library/json.html

Json在線解析網(wǎng)站:http://www.json.cn/#

二、Json的基本使用

簡(jiǎn)介

json簡(jiǎn)單說(shuō)就是javascript中的對(duì)象和數(shù)組,所以這兩種結(jié)構(gòu)就是對(duì)象和數(shù)組兩種結(jié)構(gòu),通過(guò)這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu);

  1. 對(duì)象:對(duì)象在js中表示為{ }括起來(lái)的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 { key:value, key:value, ... }的鍵值對(duì)的結(jié)構(gòu),在面向?qū)ο蟮恼Z(yǔ)言中,key為對(duì)象的屬性,value為對(duì)應(yīng)的屬性值,所以很容易理解,取值方法為 對(duì)象.key 獲取屬性值,這個(gè)屬性值的類型可以是數(shù)字、字符串、數(shù)組、對(duì)象這幾種。
  2. 數(shù)組:數(shù)組在js中是中括號(hào)[ ]括起來(lái)的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 ["Python", "javascript", "C++", ...],取值方式和所有語(yǔ)言中一樣,使用索引獲取,字段值的類型可以是 數(shù)字、字符串、數(shù)組、對(duì)象幾種。

使用

json模塊提供了四個(gè)功能:dumps、dump、loads、load,用于字符串 和 python數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換。

把Json格式字符串解碼轉(zhuǎn)換成Python對(duì)象 從json到python的類型轉(zhuǎn)化對(duì)照如下:

1.json.loads()

  1. import json 
  2.  
  3. strDict = '{"city": "廣州", "name": "小黑"}' 
  4.  
  5. r = json.loads(strDict) # json數(shù)據(jù)自動(dòng)按Unicode存儲(chǔ) 
  6.  
  7. print(r) 

結(jié)果如下:

  1. {'city''廣州''name''小黑'

2. json.load()

讀取文件中json形式的字符串元素 轉(zhuǎn)化成python類型

  1. import json 
  2. s = json.load(open('test.json','r',encoding='utf-8')) 
  3. print(s,type(s)) 

結(jié)果如下:

  1. {'city''廣州''name''小黑'

3. json.dumps()

實(shí)現(xiàn)python類型轉(zhuǎn)化為json字符串,返回一個(gè)str對(duì)象 把一個(gè)Python對(duì)象編碼轉(zhuǎn)換成Json字符串

  1. import json 
  2.  
  3. listStr = [1, 2, 3, 4] 
  4. dictStr = {"city""北京""name""大貓"
  5.  
  6. s1 = json.dumps(listStr) 
  7. s2 = json.dumps(dictStr,ensure_ascii=False
  8.  
  9. print(s1,type(s1)) 
  10. print(s2) 

結(jié)果如下:

  1. [1, 2, 3, 4] {"city""北京""name""大貓"

注意:

  1. json.dumps() 序列化時(shí)默認(rèn)使用的ascii編碼
  2. 添加參數(shù) ensure_ascii=False 禁用ascii編碼,按utf-8編碼

4. json.dump()

將Python內(nèi)置類型序列化為json對(duì)象后寫入文件

  1. import json 
  2.  
  3. json_info = "{'age': '12'}" 
  4. file = open('ceshi.json','w',encoding='utf-8'
  5. json.dump(json_info,file) 

結(jié)果如下:

ceshii,json(目錄文件產(chǎn)生)

三、JsonPath

JsonPath 是一種信息抽取類庫(kù),是從JSON文檔中抽取指定信息的工具,提供多種語(yǔ)言實(shí)現(xiàn)版本,包括:Javascript, Python, PHP 和 Java。

JsonPath 對(duì)于 JSON 來(lái)說(shuō),相當(dāng)于 XPATH 對(duì)于 XML。

下載地址:https://pypi.python.org/pypi/jsonpath

安裝方法:點(diǎn)擊Download URL鏈接下載jsonpath,解壓之后執(zhí)行python setup.py install

官方文檔:http://goessner.net/articles/JsonPath

JsonPath與XPath語(yǔ)法對(duì)比

Json結(jié)構(gòu)清晰,可讀性高,復(fù)雜度低,非常容易匹配,下表中對(duì)應(yīng)了XPath的用法。

XPath JSONPath 描述
/ $ 根節(jié)點(diǎn)
. @ 現(xiàn)行節(jié)點(diǎn)
/ .or[] 取子節(jié)點(diǎn)
.. n/a 取父節(jié)點(diǎn),Jsonpath未支持
// .. 就是不管位置,選擇所有符合條件的條件
* * 匹配所有元素節(jié)點(diǎn)
@ n/a 根據(jù)屬性訪問(wèn),Json不支持,因?yàn)镴son是個(gè)Key-value遞歸結(jié)構(gòu),不需要。
[] [] 迭代器表示(可以在里邊做簡(jiǎn)單的迭代操作,如數(shù)組下標(biāo),根據(jù)內(nèi)容選值等)
| [,] 支持迭代器中做多選。
[] ?() 支持過(guò)濾操作.
n/a () 支持表達(dá)式計(jì)算
() n/a 分組,JsonPath不支持

四、案例測(cè)試

我們爬取淘票票官網(wǎng)的城市信息,保存為json文件,進(jìn)行jsonpath語(yǔ)法測(cè)試,獲取所有城市名稱。

請(qǐng)求

  1. import requests 
  2. import time 
  3.  
  4. url = 'https://dianying.taobao.com/cityAction.json?activityId&_ksTS=1632211792156_137&jsoncallback=jsonp138&action=cityAction&n_s=new&event_submit_doGetAllRegion=true' 
  5.  
  6. headers = { 
  7.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36'
  8. }  
  9.  
  10. res = requests.get(url,headers=headers) 
  11.  
  12. result = res.content.decode('utf-8'
  13.  
  14. print(result) # xxx省略 

注意:

headers里面的鍵值對(duì)最好都加上,還是有反爬的,該網(wǎng)站,這里為了簡(jiǎn)便省去了;

保存數(shù)據(jù)

content = result.split('(')[1].split(')')[0] # 由于文件首尾的字符不需要需要剔除掉做字符串切割with open('tpp.json','w',encoding='utf-8')as fp: fp.write(content)

打開(kāi)json文件如下所示:

圖片

解析數(shù)據(jù)

這里我們獲取全部城市名稱

  1. import json 
  2. import jsonpath 
  3.  
  4. obj = json.load(open('tpp.json','r',encoding='utf-8')) # 注意,這里是文件的形式,不能直接放一個(gè)文件名的字符串 
  5.  
  6. city_list = jsonpath.jsonpath(obj,'$..regionName') # 文件對(duì)象   jsonpath語(yǔ)法 
  7.  
  8. print(city_list 

結(jié)果如下:

圖片

五、總結(jié)

我們知道json是一種常見(jiàn)的數(shù)據(jù)傳輸形式,所以對(duì)于爬取數(shù)據(jù)的數(shù)據(jù)解析,json的相關(guān)操作是比較重要的,能夠加快我們的數(shù)據(jù)提取效率,本文簡(jiǎn)單介紹了json和jsonpath的相關(guān)操作,對(duì)于測(cè)試網(wǎng)站(淘票票)的json做了簡(jiǎn)單的數(shù)據(jù)解析,感興趣的小伙伴可以把其他數(shù)據(jù)解析一下。

 

責(zé)任編輯:姜華 來(lái)源: IT共享之家
相關(guān)推薦

2011-08-18 10:07:53

SQL Server臟NOLOCKREADPAST

2023-09-14 08:30:46

JsonPathXPath

2009-06-15 15:10:02

Java數(shù)據(jù)轉(zhuǎn)換JSON

2023-09-21 09:25:53

Python方法

2014-08-12 10:15:42

數(shù)據(jù)格式JSONXML

2011-04-11 13:58:19

數(shù)據(jù)庫(kù)

2021-12-03 09:01:36

PythonJson文件Python基礎(chǔ)

2021-08-09 13:34:14

Python開(kāi)發(fā)數(shù)據(jù)

2019-02-11 08:48:07

XMLJSON前端

2010-01-06 13:23:20

JSON數(shù)據(jù)格式

2024-04-15 13:13:04

PythonJSON

2024-09-13 13:48:10

MinerU開(kāi)源數(shù)據(jù)提取工具

2011-06-14 16:07:13

Qt QSettings類

2021-10-21 05:41:27

QueenSono安全工具提取數(shù)據(jù)

2025-04-02 04:00:00

OCR技術(shù)數(shù)據(jù)

2011-07-20 10:27:29

JavaScript

2011-05-25 15:34:17

jQueryJSON

2014-04-15 10:24:42

OpenCV

2018-07-03 15:05:34

數(shù)據(jù)庫(kù)Oracle數(shù)據(jù)提取

2011-07-19 09:08:38

jQuery
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品久久免费| 大地资源二中文在线影视观看| 国内外激情在线| 国产福利电影一区二区三区| 久久久久久久爱| 国产特黄级aaaaa片免| 成人影院在线免费观看| 亚洲黄一区二区三区| 蜜桃精品久久久久久久免费影院 | 国产系列电影在线播放网址| 久久成人麻豆午夜电影| 久久久天堂国产精品女人| av男人的天堂av| av动漫精品一区二区| 欧美在线观看一二区| 国产精品视频一二三四区| 嫩草精品影院| 国产成人午夜99999| 国产精品久久久久久久久男| 久草视频免费在线播放| 成人久久一区| 日韩成人免费视频| 9191在线视频| 外国成人毛片| 91国产成人在线| av女优在线播放| 精品麻豆一区二区三区| 久久亚洲精品国产精品紫薇 | 久久综合五月婷婷| 91精品国产乱码久久蜜臀| 男人揉女人奶房视频60分| av毛片在线免费| 中文子幕无线码一区tr | 精品国产成人| 亚洲精品mp4| 久久久久亚洲av无码专区首jn| 青青热久免费精品视频在线18| 亚洲国产你懂的| 三年中国中文在线观看免费播放| 欧美伦理影视网| 成人黄色在线看| 99视频在线播放| 国产精品老熟女视频一区二区| 日韩精品欧美精品| 欧亚精品中文字幕| 国产成人无码精品亚洲| 国模吧视频一区| 欧美日韩国产成人在线| 999精品视频在线观看播放| 日韩免费一区| 最近免费中文字幕视频2019| 亚洲精品国产精品国自产网站| 国产精品中文字幕制服诱惑| 精品国产免费人成在线观看| 青青草精品在线| 精品国产麻豆| 欧美成人午夜电影| 制服丝袜av在线| 最新精品在线| 亚洲国产欧美自拍| 日本japanese极品少妇| 青青视频一区二区| 亚洲人午夜精品免费| 国产三级国产精品| 一呦二呦三呦国产精品| 亚洲区一区二区| 欧洲av一区二区三区| 精品国产网站| 中文字幕欧美日韩va免费视频| 一色道久久88加勒比一| 菠萝蜜一区二区| 久久色免费在线视频| 精品无码一区二区三区蜜臀 | 欧美xxxx做受欧美.88| 懂色av懂色av粉嫩av| 国产精品videosex极品| 97久久久久久| 波多野结衣黄色网址| 老鸭窝一区二区久久精品| 国产色婷婷国产综合在线理论片a| 一本色道久久综合熟妇| 国产一区二区精品久久99| 国产成人av一区二区三区| 天天干视频在线观看| 久久久久一区二区三区四区| 亚洲国产精品一区二区第一页| 亚洲视频tv| 亚洲综合一区二区| 国产97在线 | 亚洲| 日本电影欧美片| 91精品一区二区三区久久久久久| 少妇极品熟妇人妻无码| 精品在线观看入口| 欧美巨大黑人极品精男| 一级成人黄色片| 精品一区二区在线播放| 国产一区自拍视频| 网友自拍视频在线| 午夜精品久久久久久不卡8050| 成人羞羞国产免费网站| 久久久91麻豆精品国产一区| 亚洲精品福利视频| 2014亚洲天堂| 亚洲一区二区网站| 成人在线视频网| 十九岁完整版在线观看好看云免费| 亚洲国产精品成人综合 | 中文字幕精品亚洲| 在线观看亚洲| 成人免费网站在线看| 五月婷婷在线播放| 亚洲男帅同性gay1069| 精品中文字幕av| 亚洲一区二区三区四区电影 | 狂野欧美性猛交xxxx巴西| 91老司机精品视频| 黄色毛片在线观看| 亚洲va欧美va人人爽| 无尽裸体动漫2d在线观看| 猫咪成人在线观看| 伊人久久高清| 亚洲精品欧美二区三区中文字幕| 国产精品日韩三级| 91亚洲视频| 精品偷拍各种wc美女嘘嘘| 亚洲成人生活片| 日韩成人一区二区| 精品国产乱码一区二区三区四区| 国产婷婷视频在线| 欧美亚洲国产bt| 野外性满足hd| 99国产精品久久久久久久成人热| 亚洲xxxx做受欧美| 日本视频不卡| 欧美视频日韩视频| 手机av免费看| 国产精品普通话对白| 99在线国产| a免费在线观看| 7777精品久久久大香线蕉| 婷婷综合在线视频| 欧美96一区二区免费视频| 日本欧洲国产一区二区| 欧美电影免费观看高清完整| 亚洲国产精品yw在线观看| 国产在线观看免费av| 国产精品一区二区不卡| av电影一区二区三区| 欧美一级做一级爱a做片性| 在线视频欧美日韩| 亚洲午夜精品久久久| 欧美激情综合五月色丁香| 国产成人精品无码播放| 黑人操亚洲人| 国产精品久久久久久久久久新婚 | 国产免费黄色一级片| 色妞ww精品视频7777| 欧美另类暴力丝袜| 亚洲精品综合网| 亚洲一区二区三区四区五区黄 | 中文字幕一级片| 日本一区二区三区高清不卡| 国产小视频精品| 97在线精品| 亚洲自拍偷拍色图| 青春草在线视频| 亚洲精品一区二区三区香蕉| 五月天婷婷综合网| 久久久久国产精品厨房| 8x8x最新地址| 91精品福利| 国产伦精品一区二区三区照片91 | 好男人免费精品视频| 欧美性猛片xxxx免费看久爱| 国产jizz18女人高潮| 国产专区综合网| 欧美又粗又长又爽做受| 猛男gaygay欧美视频| 国产精品专区h在线观看| 大地资源网3页在线观看| 欧美成人aa大片| 在线观看免费av片| 中文字幕不卡在线播放| 99视频在线观看视频| 亚洲激精日韩激精欧美精品| 欧洲精品久久| 日韩欧美中文字幕一区二区三区| 97国产精品免费视频| 成人免费在线电影| 日韩精品中文字幕在线一区| 欧美激情亚洲综合| 国产精品久久久久久久岛一牛影视| 午夜诱惑痒痒网| aa级大片欧美三级| 免费看啪啪网站| 美女一区二区在线观看| 国产精品人成电影在线观看| 亚洲wwwww| 国产亚洲欧洲高清| 免费看国产片在线观看| 欧美日韩中文一区| 日本三级中文字幕| 国产精品国产馆在线真实露脸| 制服丝袜在线第一页| 免费观看成人鲁鲁鲁鲁鲁视频| 妞干网视频在线观看| 成人网18免费网站| 国产精品二区三区| 亚洲资源在线| 日本伊人精品一区二区三区介绍| 中文国产字幕在线观看| 亚洲天堂成人在线视频| 亚洲成人一级片| 精品视频色一区| 看片网址国产福利av中文字幕| 亚洲色图欧洲色图| 成人小视频免费看| 99精品国产一区二区三区不卡| 激情五月婷婷基地| 日韩激情中文字幕| 国产a级一级片| 午夜天堂精品久久久久| 永久免费精品视频网站| 久久av资源| 精品日韩欧美| 国产精品一区二区三区美女| 91在线高清视频| 成人一区视频| 国产精品成久久久久三级| 蜜桃视频m3u8在线观看| 久久久久久美女| 欧美v亚洲v| 九九九久久国产免费| 亚洲成人三级| 日韩中文字在线| 午夜视频在线免费观看| 亚洲人成电影在线播放| 视频一区二区在线播放| 日韩www在线| 亚洲欧美色视频| 亚洲第一区在线观看| 亚洲精品.www| 欧美xxxxx牲另类人与| 国产草草影院ccyycom| 91精品国产色综合久久不卡蜜臀| 中国精品一区二区| 欧美色老头old∨ideo| 亚洲精品国产精品国自产网站按摩| 欧美三级免费观看| 天天干天天干天天| 色乱码一区二区三区88| 亚洲综合图片网| 欧美偷拍一区二区| 中文字幕在线播放日韩| 欧美日韩国产小视频在线观看| 亚洲中文一区二区三区| 欧美日韩免费视频| 国产精品高潮呻吟久久久| 欧美精品1区2区3区| 国产乱子伦精品无码码专区| 欧美一卡二卡三卡四卡| 超碰在线人人干| 欧美r级在线观看| 人妻少妇精品无码专区久久| 亚洲大胆人体av| 亚洲av成人无码久久精品老人| 亚洲深夜福利在线| 日本视频在线观看| 欧美高清视频免费观看| 欧美男男tv网站在线播放| 日韩av片电影专区| 美女久久久久久| 91深夜福利视频| 美女一区二区在线观看| 日韩在线导航| 亚洲精品国产成人影院| 免费看欧美一级片| 久久久久欧美精品| 色婷婷.com| 成人免费高清在线| 在线观看日本中文字幕| 亚洲欧美日韩国产成人精品影院 | 国产精品久久久久久久久久久久冷 | 朝桐光av一区二区三区| 国产亚洲精品超碰| 538任你躁在线精品视频网站| 亚洲成人在线观看视频| 精品久久久久久久久久久国产字幕| 欧美日韩色一区| 国产综合视频在线| 在线一区二区日韩| 激情av在线| 国产精品久久999| 日韩精品视频中文字幕| 蜜桃在线一区二区三区精品| 天堂美国久久| 免费av观看网址| 激情深爱一区二区| 91av在线免费| 亚洲男人的天堂av| 国产黄色免费观看| 欧美一级高清大全免费观看| 日韩精品福利| 欧美日韩福利视频| 朝桐光一区二区| 国产日韩欧美一区二区三区四区| 成人午夜av| 波多野结衣乳巨码无在线| 国产一区福利在线| 日韩女同一区二区三区| 亚洲国产乱码最新视频| 亚洲视频在线观看一区二区| 亚洲精品美女视频| 污污影院在线观看| 91精品久久久久久久久中文字幕| 色爱综合av| 拔插拔插海外华人免费| 韩国精品在线观看| 国产熟女一区二区| 狠狠躁夜夜躁人人爽超碰91| xxxx18国产| 久久夜色精品国产欧美乱| 色豆豆成人网| 麻豆传媒一区| 亚洲毛片播放| 色综合影院在线| 亚洲 欧美 激情 另类| 久久视频在线免费观看| yw.尤物在线精品视频| 鲁鲁狠狠狠7777一区二区| 午夜精品视频| 深夜福利网站在线观看| 国产精品理论在线观看| 中国女人真人一级毛片| 日韩精品在线观看一区| 欧美精品aaaa| 五月天婷婷社区| 久久蜜桃资源一区二区老牛| 日韩在线www| 天天躁日日躁aaaa视频| 日韩一区二区三区色| 在线视频你懂得一区| 日本大胆人体视频| 国产一线二线三线在线观看| 黄色大片在线免费观看| 日韩黄色在线观看| 久久99国产精品自在自在app | 欧美福利在线| 亚洲第一天堂久久| 中文字幕一区在线观看视频| 在线免费a视频| 日韩在线中文字| 亚洲国产精选| 秋霞在线一区二区| 国产精品一区二区久久精品爱涩| www.5588.com毛片| 日韩视频一区二区三区在线播放| 免费毛片在线看片免费丝瓜视频 | 日本欧美视频| 污污的网站18| 亚洲日本在线看| 亚洲黄色小说网址| 7m第一福利500精品视频| 亚洲动漫精品| 亚洲精品自拍网| 一区二区三区日韩欧美| 日韩中文字幕免费观看| 欧美中文在线观看| 日本一本不卡| 亚洲熟妇一区二区| 狠狠久久五月精品中文字幕| 黄色免费在线播放| 91情侣偷在线精品国产| 亚洲欧洲一区| 在线看片中文字幕| 欧美一区二区三区不卡| 国产一二在线播放| 手机看片福利永久国产日韩| 国内一区二区在线| 国产成人无码精品久久久久| 亚洲无限av看| 亚洲va欧美va人人爽成人影院| 欧美 丝袜 自拍 制服 另类| 日本一区二区久久| 丁香六月色婷婷| 国产精品久久久久久久久久久不卡| 亚洲男女av一区二区| 成人性生活免费看| 欧美精品vⅰdeose4hd| 国产粉嫩在线观看| 在线观看成人一级片| av中文一区二区三区| 中文有码在线播放| 亚洲91精品在线观看| 天天av综合| 亚洲黄色小说视频| 日韩精品在线网站| 黄色精品视频| www.爱色av.com| 亚洲精品乱码久久久久|