Python HTTP错误429(请求太多)

Python HTTP错误429(请求太多),python,pandas,csv,http-status-code-429,Python,Pandas,Csv,Http Status Code 429,我曾经从URL获取CSV文件,并将该CSV文件直接放入熊猫数据框,如下所示: 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']) 从今天开始,我得

我曾经从URL获取CSV文件,并将该CSV文件直接放入熊猫数据框,如下所示:

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:请求太多
。我为修复它所做的尝试:

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:无效URL“”:未提供架构。也许你的意思是http://?


知道我如何解决熊猫和请求的HTTP错误429吗?

这个错误是由您向其发出请求的web服务器抛出的,几乎可以肯定,因为您发出请求太快,他们不喜欢。这不是因为代码中有错误

您试图修复它没有多大意义--
StringIO
允许您将内存中的字符串当作文件对象来使用。将其作为参数传递给
请求。get
实际上不是一个有效的用例——您应该使用
请求。get(grab_csv,
与以前一样,因为
。get()
希望
url
参数是一个字符串

我会查阅您使用的API的文档(如果有),并降低您的请求速度以符合其限制


有一个整洁的Python软件包(恰当地命名为
ratelimit
),它允许您修饰函数以强制执行速率限制:

检查通常随此状态代码发送后是否有标头重试。详细信息: