jsonpath只能爬取本地文件
xpath解析本地与服务器响应的文件.
import urllib.request
import urllib.parse
url = ''
headers = {
'Accept': 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Bx-V': '2.5.8',
'Cookie': '',
'Referer': 'https://dianying.taobao.com/index.htm?n_s=new',
'Sec-Ch-Ua': 'Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120',
'Sec-Ch-Ua-Mobile': '?0',
'Sec-Ch-Ua-Platform': "Windows",
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest'
}
requests = urllib.request.Request(url=url, headers=headers)
proxy = urllib.request.ProxyHandler()
opener = urllib.request.build_opener(proxy)
responses = opener.open(requests)
contends = responses.read().decode('utf-8')
str_s = contends.split('(')[1].split(')')[0]
with open("tpp.json", 'w', encoding='utf-8') as f:
f.write(str_s)
print(str_s)
import jsonpath
import json
def js_decode():
obj = json.load(open("tpp.json", "r", encoding="utf-8"))
city_list = jsonpath.jsonpath(obj, "$..regionName")
print(city_list)
if __name__ == '__main__':
js_decode()