python jsonpath()findall()提取值
Posted 南方的墙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python jsonpath()findall()提取值相关的知识,希望对你有一定的参考价值。
findall()
import re """ "d"表示取数字0-9, "D"表示不要数字, "w"在正则里面代表匹配从小写a到z,大写A到Z,数字0到9 "W"在正则里面代表匹配除了字母与数字以外的特殊符号 """ s = ‘one1two2three3four4five12345‘ k = re.compile(‘d+‘) #‘d+‘相当于‘ddd‘ #findall()函数的三种表示形式 print(k.findall(s)) print(re.findall(k,s)) print(re.findall(‘d+‘,s))
jsonpath()
import requests,jsonpath shop=requests.get(url="").json() #商店里所有书籍的作者 author_list=jsonpath.jsonpath(shop,‘$.store.book[*].author‘) #返回所有的作者 author_list2=jsonpath.jsonpath(shop,‘$..author‘) #商店里的所有东西 category_dx=jsonpath.jsonpath(shop,‘$.store.*‘) #商店里一切的价格 store_price_list=jsonpath.jsonpath(shop,‘$.store..price‘) #第三本书 book_3=jsonpath.jsonpath(shop,‘$..book[2]‘) #最后一本书 book_last=jsonpath.jsonpath(shop,‘$..book[-1]‘) num=len(jsonpath.jsonpath(shop,‘$..book‘))-1 book_last=jsonpath.jsonpath(shop,f‘$..book[{num}]‘) #取值 #前两本书 book_12=jsonpath.jsonpath(shop,f‘$..book[0,1]‘) #过滤所有便宜10以上的书籍 book_lg10=jsonpath.jsonpath(shop,‘$..book[?(@.price<10)]‘) #使用isbn number过滤所有书籍 book_lg10=jsonpath.jsonpath(shop,‘$..book[?(@.isbn)]‘)
以上是关于python jsonpath()findall()提取值的主要内容,如果未能解决你的问题,请参考以下文章