python爬蟲(chóng)將js轉(zhuǎn)化成json實(shí)現(xiàn)示例
正文
有一個(gè)優(yōu)秀的庫(kù)可以使用————demjson
示范鏈接
http://fcd.5173.com/commondat...
請(qǐng)求上面鏈接,會(huì)得到如下圖的一個(gè)js文件

我們需要把這個(gè)js文件轉(zhuǎn)成為dict,方便提取其中需要的字段(這在爬蟲(chóng)任務(wù)中非常常見(jiàn))
失敗的方法
傳統(tǒng)方法
通常轉(zhuǎn)js文件為dict的過(guò)程:
1.先通過(guò)切片掐頭去尾,去掉頭部的 “callarea(” 和尾部的 “)” 。
2.再次導(dǎo)入json這個(gè)庫(kù),使用loads,json.loads(resposne.text[9:-1]),實(shí)現(xiàn)json轉(zhuǎn)dict。
但是,這個(gè)方法在這里行不通。
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]))
錯(cuò)誤原因
js文件并不一定是json的超集,這此處的js文件key不包含雙引號(hào),value中的內(nèi)容是單引號(hào)。
上訴方法行得通的前提是這個(gè)js需要時(shí)json的超集,key和value都由雙引號(hào)包圍。
天無(wú)絕人之路
通過(guò)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)得到如下結(jié)果

寫(xiě)代碼千萬(wàn)不要睡著了
以上就是python爬蟲(chóng)將js轉(zhuǎn)化成json實(shí)現(xiàn)示例的詳細(xì)內(nèi)容,更多關(guān)于python將js轉(zhuǎn)化成json的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python刪除過(guò)期log文件操作實(shí)例解析
這篇文章主要介紹了python刪除過(guò)期log文件,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
解決PyCharm import torch包失敗的問(wèn)題
今天小編就為大家分享一篇解決PyCharm import torch包失敗的問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Keras 加載已經(jīng)訓(xùn)練好的模型進(jìn)行預(yù)測(cè)操作
這篇文章主要介紹了Keras 加載已經(jīng)訓(xùn)練好的模型進(jìn)行預(yù)測(cè)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
Ubuntu22.04安裝PyTorch1.12.1 GPU版本全過(guò)程
這篇文章主要介紹了Ubuntu22.04安裝PyTorch1.12.1 GPU版本全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Python?pandas刪除指定行/列數(shù)據(jù)的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Python?pandas刪除指定行/列數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01
python數(shù)字圖像處理實(shí)現(xiàn)直方圖與均衡化
在圖像處理中,直方圖是非常重要,也是非常有用的一個(gè)處理要素。這篇文章主要介紹了python數(shù)字圖像處理實(shí)現(xiàn)直方圖與均衡化,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
python爬蟲(chóng)爬取淘寶商品信息(selenum+phontomjs)
這篇文章主要為大家詳細(xì)介紹了python爬蟲(chóng)爬取淘寶商品信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02

