我正在尝试下载csv文件并使用python 3进行自定义。
from urllib import request
google_url= "https://query1.finance.yahoo.com/v7/finance/download/GOOG?period1=1510328010&period2=1512920010&interval=1d&events=history&crumb=IpXue1sAr6r"
def download_stock_data (csv_url):
response = request.urlopen (csv_url)
csv = response.read()
csv_str = str(csv)
lines = csv_str.split("\\n")
dest_url = r'goog.csv'
fx = open(dest_url, "w")
for line in lines:
fx.write(line + "\n")
fx.close()
download_stock_data (google_url)
C:\Users\ihsan.iyigun\AppData\Local\Programs\Python\Python36\python.exe C:/Users/ihsan.iyigun/PycharmProjects/untitled3/new.py
Traceback (most recent call last):
File "C:/Users/ihsan.iyigun/PycharmProjects/untitled3/new.py", line 17, in <module>
download_stock_data (google_url)
File "C:/Users/ihsan.iyigun/PycharmProjects/untitled3/new.py", line 6, in download_stock_data
response = request.urlopen (csv_url)
File "C:\Users\ihsan.iyigun\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\ihsan.iyigun\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 532, in open
response = meth(req, response)
File "C:\Users\ihsan.iyigun\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Users\ihsan.iyigun\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 570, in error
return self._call_chain(*args)
File "C:\Users\ihsan.iyigun\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)
File "C:\Users\ihsan.iyigun\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized
Process finished with exit code 1
我该如何调试或解决此问题?
答案 0 :(得分:0)
在我看来,您尝试访问的网页需要身份验证。如果是这样,您必须弄清楚如何以编程方式登录网站,然后再转到您想要的页面。
尝试手动转到该网址,我在浏览器中收到以下内容:
{
"finance": {
"error": {
"code": "Unauthorized",
"description": "Invalid cookie"
}
}
}
答案 1 :(得分:-1)
首先下载您的CSV文件并将其放到mycomputer上的本地驱动器上,然后转到运行这些代码以加载您的csv文件:
import csv
def loadCsv(filename):
lines=csv.reader(open(filename,"r"))
dataset=list(lines)
for i in range(len(dataset)):
dataset[i]=[float(x) for x in dataset[i]]
return dataset
filename='E:\dataset.csv'
dataset=loadCsv(filename)
print("Loaded data file {} with {} rows".format(filename,len(dataset)))
print("First Record{}".format(dataset[1]))
然后打开cmd,按照以下命令 - &gt;
C:\用户&GT; CD .. C:&gt; cd Python34 C:\ Python34&gt; python.exe e:NB.pyimport csv
现在你可以得到结果。