欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python爬蟲將js轉(zhuǎn)化成json實現(xiàn)示例

 更新時間:2023年05月31日 10:06:20   作者:ponponon  
這篇文章主要為大家介紹了python爬蟲將js轉(zhuǎn)化成json實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

有一個優(yōu)秀的庫可以使用————demjson

示范鏈接

http://fcd.5173.com/commondat...

請求上面鏈接,會得到如下圖的一個js文件

我們需要把這個js文件轉(zhuǎn)成為dict,方便提取其中需要的字段(這在爬蟲任務中非常常見)

失敗的方法

傳統(tǒng)方法

通常轉(zhuǎn)js文件為dict的過程:

1.先通過切片掐頭去尾,去掉頭部的 “callarea(” 和尾部的 “)” 。

2.再次導入json這個庫,使用loads,json.loads(resposne.text[9:-1]),實現(xiàn)json轉(zhuǎn)dict。

但是,這個方法在這里行不通。

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]))

錯誤原因

js文件并不一定是json的超集,這此處的js文件key不包含雙引號,value中的內(nèi)容是單引號。

上訴方法行得通的前提是這個js需要時json的超集,key和value都由雙引號包圍。

天無絕人之路

通過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)

得到如下結果

寫代碼千萬不要睡著了

以上就是python爬蟲將js轉(zhuǎn)化成json實現(xiàn)示例的詳細內(nèi)容,更多關于python將js轉(zhuǎn)化成json的資料請關注腳本之家其它相關文章!

相關文章

  • keras實現(xiàn)VGG16方式(預測一張圖片)

    keras實現(xiàn)VGG16方式(預測一張圖片)

    這篇文章主要介紹了keras實現(xiàn)VGG16方式(預測一張圖片),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python中的getter與setter及deleter使用示例講解

    Python中的getter與setter及deleter使用示例講解

    這篇文章主要介紹了Python中的getter與setter及deleter使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-01-01
  • Python爬蟲獲取數(shù)據(jù)保存到數(shù)據(jù)庫中的超詳細教程(一看就會)

    Python爬蟲獲取數(shù)據(jù)保存到數(shù)據(jù)庫中的超詳細教程(一看就會)

    使用爬蟲爬數(shù)據(jù),總要涉及到數(shù)據(jù)持久化,也就是數(shù)據(jù)存儲的問題,下面這篇文章主要給大家介紹了關于Python爬蟲獲取數(shù)據(jù)保存到數(shù)據(jù)庫中的超詳細教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Python保留指定位數(shù)小數(shù)的5種方法總結

    Python保留指定位數(shù)小數(shù)的5種方法總結

    很多小伙伴在學習python的時候可能會遇到對數(shù)據(jù)進行格式化輸出的需求,其中最常見的需求為保留幾位小數(shù),這篇文章主要給大家介紹了關于Python保留指定位數(shù)小數(shù)的5種方法,需要的朋友可以參考下
    2023-08-08
  • Python的Django框架中自定義模版標簽的示例

    Python的Django框架中自定義模版標簽的示例

    這篇文章主要介紹了Python的Django框架中自定義模版標簽的示例,標簽的用處比過濾器更多,需要的朋友可以參考下
    2015-07-07
  • python的特殊語法和常用模塊示例詳解

    python的特殊語法和常用模塊示例詳解

    Python確實支持函數(shù)式編程,并提供了一些內(nèi)置的高階函數(shù),這些函數(shù)可以接受其他函數(shù)作為參數(shù),從而使代碼更加簡潔和功能強大,這篇文章主要介紹了python的特殊語法和常用模塊詳解,需要的朋友可以參考下
    2024-08-08
  • Python Numpy計算各類距離的方法

    Python Numpy計算各類距離的方法

    這篇文章主要介紹了Python Numpy計算各類距離的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python利用matplotlib實現(xiàn)制作動態(tài)條形圖

    Python利用matplotlib實現(xiàn)制作動態(tài)條形圖

    說到用 Python 制作動態(tài)圖,首先想到的肯定是一些直接拿來就用的庫,雖然我沒做過,但是我相信一定有且不止一個,搜了一圈后發(fā)現(xiàn)有個bar chart race庫看起來不錯,感興趣的可以跟隨小編一起學習一下
    2022-10-10
  • Python利用3D引擎寫一個Pong游戲

    Python利用3D引擎寫一個Pong游戲

    之前,我們嘗試過用pygame做了一個2D的Pong游戲。本文將利用強大的3D引擎Ursina制作一個3D版的Pong游戲。文中的示例代碼講解詳細,感興趣的可以了解一下
    2023-01-01
  • Python報錯TypeError: object of type ‘generator‘ has no len ()的解決方法

    Python報錯TypeError: object of type ‘gener

    在Python開發(fā)的復雜世界中,報錯信息就像神秘的謎題,困擾著開發(fā)者和環(huán)境配置者,其中,TypeError: object of type ‘generator’ has no len()這個報錯,常常在不經(jīng)意間打亂我們的開發(fā)節(jié)奏,本文讓我們一起深入探究這個報錯問題,為Python開發(fā)之路掃除障礙
    2024-10-10

最新評論