請幫忙,SEC EDGAR 過去一直完美無缺地作業到現在。它給出了 HTTPError: HTTP Error 403: Forbidden
import pandas as pd
tables = pd.read_html("https://www.sec.gov/Archives/edgar/data/1541617/000110465920125814/xslForm13F_X01/infotable.xml")
df=tables[3]
df
uj5u.com熱心網友回復:
該站點似乎拒絕了您的請求,因為它檢測到該請求是自動進行的。如果將標頭添加User-Agent: Mozilla/5.0到 http 請求,則可以繞過此操作,因為這會使請求看起來像是來自 Firefox 瀏覽器。不幸的是,pd.read_html 不支持更改請求標頭,因此我們必須使用 requests 庫自行發出請求。
安裝請求 pip install requests
然后將您的代碼更改為如下所示:
import pandas as pd
import requests
# Makes a request to the url
request = reqeusts.get("https://www.sec.gov/Archives/edgar/data/1541617/000110465920125814/xslForm13F_X01/infotable.xml", headers={"User-Agent": "Mozilla/5.0"})
# Pass the html response into read_html
tables = pd.read_html(request.text)
df = tables[3]
print(df)
我注意到該站點的一件事是它不允許來自非住宅 IP 地址的請求,并且總是會給你一個 403。所以如果你在云中的某個地方執行這個代碼(例如 repl.it,通過 vpn,或類似)此代碼根本不起作用。在我的家用電腦上運行它,這個代碼雖然完美無缺。該網站還表示,如果您每秒發出超過 10 個請求或總體請求數量過多,它將阻止您的 IP 地址,因此請務必謹慎對待您向網站發出請求的次數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/383597.html
