data = json.loads(response)出現錯誤訊息 Expecting value: line 1 column 1 (char 0)該如何解決?
我的command line 為老師作業中的command line import requests r = requests.get('https://www.dcard.tw/_api/forums') response = r.text import json data = json.loads(response) print(data) 沒有更改,但跑出的訊息告知我 ---> 6 data = json.loads(response) 出現問題 error message為 Expecting value: line 1 column 1 (char 0) 想請問該如何解決....? 
回答列表
-
2021/10/23 下午 04:07王健安贊同數:1不贊同數:0留言數:2
琪娟您好, 我將您的程式碼複製到我的python中是可以運行的, 為了協助您更加確認轉成json過程中哪個環節有問題, 因此請您將 response 的結果輸出出來, 確認 response 是有內容且是 dict 的資料型態。 另外,我在網路上也查到另一種寫法, ```python response = r.content.decode(encoding="utf-8") ``` 也許這也能幫助您解決問題, 謝謝。 參考資料: https://www.uj5u.com/qita/8653.html https://blog.csdn.net/qq_29757283/article/details/98252728
-
2021/11/22 下午 02:06Tony White贊同數:0不贊同數:0留言數:0
您好,以下是我的回覆還請您參考: 若按照文中的執行碼執行:  在回讀r的時候就會出現
,這表示網頁錯誤導致無法讀取,若此時讀取網頁內容,則會顯示的東西皆非json格式的內容(因為網頁已經錯誤),此時若再使用json就會出現解碼錯誤的問題(因為格式已經不是json所以 json無法解碼)。 在網路爬蟲中由於有些網站會檔一些看起來不像是一般正常瀏覽器的登入(不希望被駭客或是爬蟲程式登入) 所以會強制讓網頁產生錯誤 此時就要想辦法讓你的登入方式變成**(fc>#ff0000:像一個正常瀏覽器登入的樣子 ,表示為正常登入者  3.此時再補上你的其餘程式碼就可以顯示出來摟  以上再請您參考 謝謝