JsonPath的使用

深碍√TFBOYSˉ_ 2023-09-30 19:06 67阅读 0赞

使用jsonpath解析淘票票

  1. # _*_ coding : utf-8 _*_
  2. # @Time : 2023/1/31 10:31
  3. # @Author : 李阶熊
  4. # @File : jsonpath解析淘票票
  5. # @Project : pythonProject
  6. import urllib.request
  7. import jsonpath
  8. import json
  9. url = 'https://dianying.taobao.com/cityAction.json?activityId&_ksTS=1675132938886_108&jsoncallback=jsonp109&action=cityAction&n_s=new&event_submit_doGetAllRegion=true'
  10. headers = {
  11. # ':authority': 'dianying.taobao.com',
  12. # ':method': 'GET',
  13. # ':path': '/cityAction.json?city=442000&_ksTS=1675132408447_19&jsoncallback=jsonp20&action=cityAction&n_s=new&event_submit_doLocate=true',
  14. # ':scheme': 'https',
  15. 'accept': 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01',
  16. # 'accept-encoding': 'gzip, deflate, br',
  17. 'accept-language': 'zh-CN,zh;q=0.9',
  18. 'cookie': 'cna=c5v0G1cyxwgCAXQcXviTX2Se; t=782d6aca2072f143b7c64f4ff5516d6a; sgcookie=E100g%2BNb%2BIoJf7n8OGcr7G8A5v%2BLA%2Bku%2BXDRgM1J8YVrulsI%2BhoVU8F5Zo7vAAnPmlw97LnhGHblmZbTUEBXNj8nfZLr7JoV1Xg%2Bn7dqoH9Y%2B7g%3D; uc3=lg2=WqG3DMC9VAQiUQ%3D%3D&id2=UUjXbEBbM8gmUg%3D%3D&nk2=sFDHLCINKLQTM0HmwiX8Yw%3D%3D&vt3=F8dCvjAaM3aYqJGjm%2FM%3D; lgc=%5Cu6709%5Cu5FD7%5Cu8005%5Cu4E8B%5Cu7ADF%5Cu6210gwia; uc4=id4=0%40U2o1ZOW08M9AHM4xkbR08iMJUG%2Bg&nk4=0%40sqh2eNLkVBiYfeCVEkRzTRwM8jdh2Bf%2Fki8N; tracknick=%5Cu6709%5Cu5FD7%5Cu8005%5Cu4E8B%5Cu7ADF%5Cu6210gwia; _cc_=U%2BGCWk%2F7og%3D%3D; thw=cn; useNativeIM=false; cookie2=19e4a2026d24fb1b34e6287fbc73aaf7; v=0; _tb_token_=ef573377176ee; xlly_s=1; tb_city=442000; tb_cityName="1tDJvQ=="; isg=BKWllJJ1Knxuvk5wHsGlH0v2tGHf4ll0lMUJR6eOGF3VvscwbzCeROufSCLIvnEs; l=fBjS141eTXE_1dS-BO5Courza77TBCAbzsPzaNbMiIEGa1kfTCRANNCeBgaW7dtjgTfmKetz_ANlDdh9W2zLROkDBeYQKtyuJxv9-bpU-L5..; tfstk=c1VCB9OiYHxIDoCktD_NzNSbFKclai8jP9i3RMAbb0x6An4EXsXpgmNcB8x-a431.',
  19. 'referer': 'https://dianying.taobao.com/?spm=a1z21.3046609.city.355.54b6112ax2jQuW&city=442000',
  20. 'sec-ch-ua': '"Not_A Brand";v="99", "Google Chrome";v="109", "Chromium";v="109"',
  21. 'sec-ch-ua-mobile': '?0',
  22. 'sec-ch-ua-platform': '"Windows"',
  23. 'sec-fetch-dest': 'empty',
  24. 'sec-fetch-mode': 'cors',
  25. 'sec-fetch-site': 'same-origin',
  26. 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',
  27. 'x-requested-with': 'XMLHttpRequest',
  28. }
  29. request = urllib.request.Request(url=url, headers=headers)
  30. response = urllib.request.urlopen(request)
  31. content = response.read().decode('utf-8')
  32. content = content.split('(')[1].split(')')[0]
  33. with open('taopiaopiao.json', 'w', encoding='utf-8') as fp:
  34. fp.write(content)
  35. obj = json.load(open('taopiaopiao.json', 'r', encoding='utf-8'))
  36. address_list = jsonpath.jsonpath(obj, '$..regionName')
  37. print(address_list)

发表评论

表情:
评论列表 (有 0 条评论,67人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JsonPath 运算符使用

    背景 因为之前用到Jmeter的Json 提取器涉及到JsonPath的使用,因此查找了一些文章,将里面的精华部分运算符的使用提取出来记录以下,方便自己以后使用。 J