jsonpath

JsonPath 作为一种信息抽取类库,功能很强大。它是从JSON文档中抽取指定信息的工具,用来解析多层嵌套的json数据,不需要再像之前一层一层才能获取自己想要的数据,而是可以直接去获取,让获取数据变得极其简单。

import requests
import json
import jsonpath

url =
'https://m.douban.com/rexxar/api/v2/subject_collection/filter_tv_american_hot/items'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36',
    'Referer': 'https://m.douban.com/tv/american'
}
start = 0
count = 4

# response 对象
# response.text 字符串
# response.context bytes类型
# json.loads() 字符串->python数据
for start in range(start, 2 * count, count):
    params = {
        'start': start,
        'count': count
    }
    response = requests.get(url, headers=headers, params=params)
    json_str = response.text
    results = json.loads(json_str)
    print(results)
    titles = jsonpath.jsonpath(results, '$..title')
    with open('011.html', 'a', encoding='utf-8') as f:
        for title in titles:
            title = title + '\n'
            f.write(title)
titles = jsonpath.jsonpath(results, '$..title')最终会从所有嵌套信息里面提取出title的数据如下:
西部世界 第二季
利器
女子监狱 第六季
虚拟幻梦
婚外情事 第四季
使女的故事 第二季
城堡岩
黄石 第一季

而print(results)的结果却很冗余,这里就不过于赘述,有兴趣的朋友可以运行上面代码比较下,

所以说用 jsonpath提取信息是非常高效的,希望多多使用

 

你可能感兴趣的:(jsonpath)