我正在嘗試學習如何讀取和撰寫 json 在線存盤,例如npoint.io或JSONBIN.io。但是我混淆了如何閱讀和撰寫它,我從互聯網上查看示例代碼,但是當我單獨嘗試時總是失敗。
import json
from urllib.request import urlopen
url = "just say it abcdefg"
response = urlopen(url)
data_json = json.loads(response.read())
對于寫作和閱讀,我知道該怎么做,但是如何從互聯網匯入它怎么做?
uj5u.com熱心網友回復:
你正在嘗試是HTTP GET對url由你說,像樣品網站給出npoint.io。
當您使用 時urlopen(url),發送的 HTTP 請求沒有大多數網站期望的正確/必需的標頭。例如,像User-Agent. 許多網站出于安全目的阻止此類訪問。
您可以通過不同的方式訪問這些 URL。使用requests庫 [安裝就像pip install requests沒有它一樣。]
url = "https://api.npoint.io/6cb9bb8b8fe2856e5977"
response = requests.get(url).json()
會給你
{'why': ['quick setup', 'easy editing', 'schema validation'], 'what': 'a simple JSON data store'}
如果你想使用它urllib本身,最好將你的 get 請求設計成一個像下面這樣的正式請求
import urllib, json
# Mock a browser
user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7'
headers = {'User-Agent': user_agent, }
request = urllib.request.Request(url, None, headers)
response = urllib.request.urlopen(request)
response = json.loads(response.read())
給
{'why': ['quick setup', 'easy editing', 'schema validation'], 'what': 'a simple JSON data store'}
uj5u.com熱心網友回復:
您是否嘗試在瀏覽器中獲取 localStorage 快取?如果您只是訪問隨機 API,我不知道使用 python 是否可行,因為 localStorage 是特定于瀏覽器的。在這里查看更多
如何在 Python 請求下訪問 localstorage
也許嘗試使用 selenium 并打開一個新的瀏覽器。通過使用 selenium 庫,您可以從 python 中打開一個新的瀏覽器,并且您可以更直接地控制您的瀏覽器。
但是,以https://randomuser.me/api為例,您的代碼可以正常作業,并且會提取 JSON 值并將其存盤在 data_json 變數中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/404626.html
標籤:
上一篇:如何用Json的內容填充變數
