我曾经从 URL 中获取 CSV 文件,然后将该 CSV 文件直接放入 Pandas 数据框,如下所示:
import pandas as pd
grab_csv = 'https://XXXX.XX/data.csv'
pd_data = pd.read_csv(grab_csv).drop(columns=['Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 4', 'Column 5', 'Column 6', 'Column 7'])
从今天开始,我得到urllib.error.HTTPError: HTTP Error 429: Too Many Requests
. 我尝试修复它:
import pandas as pd
import requests
from io import StringIO
grab_csv = 'https://XXXX.XX/data.csv'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}
res_grab_data = requests.get(StringIO(grab_csv), headers=headers).text
pd_data = pd.read_csv(res_grab_data).drop(columns=['Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 4', 'Column 5', 'Column 6', 'Column 7'])
这一次,我得到了错误requests.exceptions.MissingSchema: Invalid URL '<_io.StringIO object at 0x0000012B7C622A20>': No schema supplied. Perhaps you meant http://<_io.StringIO object at 0x0000012B7C622A20>?
。
知道如何使用 pandas 和请求解决 HTTP 错误 429 吗?