乐趣区

python爬虫把js转化成json

有一个优秀的库可以使用 demjson

示范链接
http://fcd.5173.com/commondat…

如果我们要把这个变成字典,需要先把他 转成 json,再从 json 变成 dict

通过 demjson 可以一步到位

import requests
import demjson

url = 'http://fcd.5173.com/commondata/Category.aspx?type=area&cache=&id=20c8bbc1b9794fc98bd96859624d4769&jsoncallback=callarea'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36',
}

resposne = requests.get(url, headers=headers)

for item in demjson.decode(resposne.text[9:-1]):
    id = item.get('id')
    name = item.get('name')
    print(id, name)

得到如下结果

直接通过 json.loads 是行不通的

import requests
import json

url = 'http://fcd.5173.com/commondata/Category.aspx?type=area&cache=&id=20c8bbc1b9794fc98bd96859624d4769&jsoncallback=callarea'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36',
}

resposne = requests.get(url, headers=headers)

print(json.loads(resposne.text[9:-1]))

退出移动版