爬蟲 解析內容 jsonpath

2021-09-02 17:39:07 字數 1862 閱讀 1949

import json

"""dump 把json字串寫入檔案

load 讀取檔案中的json物件

dumps 把python物件轉換為json字串

loads 把json字串轉換為python物件

"""da_lao_list =

}# filepath

#dict>>>str (python物件》json字串)

result_dumps = json.dumps(da_lao_list)

print(result_dumps)

print(type(result_dumps))

#str>>>dict

result_loads = json.loads(result_dumps)

print(result_loads)

print(type(result_loads))

#讀出python物件

json.dump(result_loads, open("dump.txt", mode="w", encoding="utf-8"))

#寫入pythonb物件

result_load = json.load(open("dump.txt"))

print(result_load)

print(type(result_load))

dump 把python物件寫入檔案

load 讀取檔案中的python物件

dumps 把json物件轉換為json字串

loads 把json字串轉換為json物件

注意:這裡的python物件即為字典

具體用法:

import requests

import jsonpath

import json

url = ''

response = requests.get(url)

html_str = response.content.decode()

# 把json格式字串轉換成python物件

jsonobj = json.loads(html_str)

# 從根節點開始,匹配name節點

citylist = jsonpath.jsonpath(jsonobj, '$..name')

fp = open('city.json', 'w')

#將python物件轉為json字串

content = json.dumps(citylist, ensure_ascii=false)

#然後將字串轉為二進位制寫入檔案

fp.write(content.encode('utf-8'))

fp.close()

jsonpath

result

$.store.book[*].author

store中的所有的book的作者

$…author

所有的作者

$.store.*

store下的所有的元素

$.store…price

store中的所有的內容的**

$…book[2]

第三本書

$…book[(@.length-1)]

$…book[-1:]

$…book[0,1]

$…book[:2]

$…book[?(@.isbn)]

獲取有isbn的所有數

$…book[?(@.price<10)]

獲取**大於10的所有的書

$…*獲取所有的資料

,,,

],"bicycle":

}}

python爬蟲教程 jsonPath

這個是python自帶的輕量級的資料交換格式,這個與xml相較比不相上下.json.loads python中的json 模組 提供了四個功能 dumps,dump,loads,load 用於字串和python資料型別進行轉換 把json格式字串解碼轉換成python物件 從json到python的...

爬蟲學習(十六) jsonpath

jsonpath是一種資訊抽取類庫,是從json文件中抽取指定資訊的工具,提供多種語言實現的版本 jsonpath對json來說,就相當於xpath對於xml jsonpath和xpath的語法對比 jsonpath用乙個抽象的名字 來表示最外層物件 網路上請求json資料的方式 import re...

爬蟲 解析內容 xpath

from lxml import etree text harry potter 29.99 learning xml 39.95 print type text 將字串轉化為element物件 html etree.html text print html print type html 將ele...