无法正确访问 JSON 数据
Cannot access the JSON data correctly
https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId=183
我无法从该站点访问数据:
{"Success":true,"Data":"[{\"id\":10,\"storeId\":\"\",\"storeName\":\"Swarovski Sankopark AVM\",\"storeLat\":\"37.063253000000\",\"storeLang\":\"37.361040099997\",\"storeAddress\":\"Sanko Park AVM Zemin Kat Sarigüllük Mah. Rafet Isitmen Cad. Şehitkamil/Gaziantep\",\"storePhone\":\"0 342 338 68 78\",\"storeEmail\":\"\",\"storeWorkHours\":\"10:00-20:00\",\"storeWorkHoursWeekend\":null,\"storeCover\":\"https://img-swarovski.mncdn.com/Content/Images/Thumbs/0036549.jpeg\",\"storesPhotos\":[\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+1\",\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+2\",\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+3\"],\"countryId\":77,\"cityId\":183}]"}
因为粗括号 x[Data]
是 str
我尝试此代码时的值:
import requests
import re
city_ids = {"ankara":"162","antalya":"163","aydın":"165","bursa":"172","izmir":"191","istanbul":"190","eskişehir":"182",
"gaziantep":"183",
"trabzon":"211", }
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
for i in city_ids:
#print(city_ids[i])
req = requests.get("https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId="+city_ids[i],headers=headers)
data = req.json
print(type(data["Data"]))
输出:
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
我完全卡住了...
这是因为您需要将数据体解析为json。
您可以使用 python.
中的 json
库来完成
import requests
import re
import json
city_ids = {"ankara":"162","antalya":"163","aydın":"165","bursa":"172","izmir":"191","istanbul":"190","eskişehir":"182",
"gaziantep":"183",
"trabzon":"211", }
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
for i in city_ids:
req = requests.get("https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId="+city_ids[i],headers=headers)
data = req.json()
parsed = json.loads(data["Data"])
print(parsed)
https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId=183
我无法从该站点访问数据:
{"Success":true,"Data":"[{\"id\":10,\"storeId\":\"\",\"storeName\":\"Swarovski Sankopark AVM\",\"storeLat\":\"37.063253000000\",\"storeLang\":\"37.361040099997\",\"storeAddress\":\"Sanko Park AVM Zemin Kat Sarigüllük Mah. Rafet Isitmen Cad. Şehitkamil/Gaziantep\",\"storePhone\":\"0 342 338 68 78\",\"storeEmail\":\"\",\"storeWorkHours\":\"10:00-20:00\",\"storeWorkHoursWeekend\":null,\"storeCover\":\"https://img-swarovski.mncdn.com/Content/Images/Thumbs/0036549.jpeg\",\"storesPhotos\":[\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+1\",\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+2\",\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+3\"],\"countryId\":77,\"cityId\":183}]"}
因为粗括号 x[Data]
是 str
我尝试此代码时的值:
import requests
import re
city_ids = {"ankara":"162","antalya":"163","aydın":"165","bursa":"172","izmir":"191","istanbul":"190","eskişehir":"182",
"gaziantep":"183",
"trabzon":"211", }
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
for i in city_ids:
#print(city_ids[i])
req = requests.get("https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId="+city_ids[i],headers=headers)
data = req.json
print(type(data["Data"]))
输出:
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
我完全卡住了...
这是因为您需要将数据体解析为json。
您可以使用 python.
json
库来完成
import requests
import re
import json
city_ids = {"ankara":"162","antalya":"163","aydın":"165","bursa":"172","izmir":"191","istanbul":"190","eskişehir":"182",
"gaziantep":"183",
"trabzon":"211", }
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
for i in city_ids:
req = requests.get("https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId="+city_ids[i],headers=headers)
data = req.json()
parsed = json.loads(data["Data"])
print(parsed)