我目前正在嘗試使用他們的API從英格蘭銀行的網站收集資料,但是,當我通過 pandas.read_csv() 或 requests.get() 傳遞 URL 時,我不斷收到錯誤 500。我在下面包含了一個示例:
pandas.read_csv("https://www.bankofengland.co.uk/boeapps/database/_iadb-fromshowcolumns.asp?csv.x=yes&Datefrom=01/Jan/1963&Dateto=13/Jan/2022&SeriesCodes=LPMAUYN&CSVF=TN&UsingCodes=Y&VPD=Y&VFD=N")
奇怪的是,如果一個人在他/她的瀏覽器中手動輸入上述 URL,那么 CSV 檔案就會被下載并且不會引發錯誤。此外,這在過去曾經有效,但似乎不再如此。
我到底做錯了什么,或者這只是服務器端的問題?
提前致謝。
uj5u.com熱心網友回復:
瀏覽器始終在標頭中發送資料,您也可以對請求進行處理。
下面的請求回傳代碼 200。
import requests
url = "https://www.bankofengland.co.uk/boeapps/database/_iadb-fromshowcolumns.asp?" \
"csv.x=yes&Datefrom=01/Jan/1963&Dateto=13/Jan/2022&SeriesCodes=LPMAUYN&CSVF=TN&UsingCodes=Y&VPD=Y&VFD=N"
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) '
'AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/54.0.2840.90 '
'Safari/537.36'
}
response = requests.get(url, headers=headers)
print(response.text)
輸出:
DATE,LPMAUYN
30 Jun 1982,145329
31 Jul 1982,146842
31 Aug 1982,148277
30 Sep 1982,149702
31 Oct 1982,150555
30 Nov 1982,151983
31 Dec 1982,153887
...
31 May 2021,2894480
30 Jun 2021,2912525
31 Jul 2021,2917566
31 Aug 2021,2933716
30 Sep 2021,2954865
31 Oct 2021,2972962
30 Nov 2021,2992824
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/411184.html
標籤:
