Python Can';不要从雅虎财经抓取数据
我正在从雅虎财经频道抓取数据。我搜索了以下链接: 我正在使用python、request和Jupiter上的熊猫来爬行它。 错误:Python Can';不要从雅虎财经抓取数据,python,pandas,request,Python,Pandas,Request,我正在从雅虎财经频道抓取数据。我搜索了以下链接: 我正在使用python、request和Jupiter上的熊猫来爬行它。 错误: 标记数据时出错。C错误:saw 12第3行中应有2个字段 关键错误 开始,我可以爬大约100-200个公司。然后,该程序将错误的任何符号公司。最后,我等一分钟,我可以运行重复它,程序没有错误 原因是什么?非常感谢。也许该网站不希望机器人在其数据周围爬行,并采取措施挫败他们。我不明白你怎么能合理地期望得到答案。您告诉我们您的代码(您没有显示)没有错误——那么您的
- 标记数据时出错。C错误:saw 12第3行中应有2个字段
- 关键错误
原因是什么?非常感谢。也许该网站不希望机器人在其数据周围爬行,并采取措施挫败他们。我不明白你怎么能合理地期望得到答案。您告诉我们您的代码(您没有显示)没有错误——那么您的问题到底是什么?我们所知道的是,您对这个未知代码的行为不满意。如果你需要帮助,请发一封邮件。我很抱歉。但是我编辑了我的问题。谢谢你添加代码——但是你得到的错误消息是什么?当我抓取1个符号时,它不是错误。但爬行大约100-200个符号,它将出现错误:(当我检查1符号错误时,它会运行并更新错误消息。
def createLink(symbol,table):
s = "https://query1.finance.yahoo.com/v7/finance/download/BVH?period1=923729900&period2=1618039708&interval=1d&events=history&includeAdjustedClose=true"
return s.replace("BVH",symbol).replace("history",table)
def getData(symbol,table):
URL = createLink(symbol,table)
web = requests.get(URL)
if web.status_code == 200:
reader = pd.read_csv(URL)
else:
reader = pd.DataFrame({"Data":[],"Dividends":[],"Stock Splits":[]})
return reader
def history(symbol):
history_close = getData(symbol,'history')
if history_close.empty:
return history_close
divend = getData(symbol,'div')
stock = getData(symbol,'split')
x = pd.merge(divend,stock, how="outer", on="Date")
data = pd.merge(history_close,x, how="outer", on="Date")
return data
df = pd.read_excel("/content/drive/MyDrive/Colab Notebooks/symbolNYSE.xlsx")
count = 0
count_fail = 0
for i in range(0,len(df["Symbol"])):
try:
count += 1
print(df["Symbol"][i],count)
a = history(df["Symbol"][i])
if not a.empty:
a.to_excel("/content/drive/MyDrive/ColabNotebooks/GetCloseYahoo/"+df["Symbol"][i]+".xlsx")
except:
count_fail+=1
pass
print("success:", count)
print("fail:", count_fail)