我是在Windows 8上,安装了Anaconda Python 2.7.11。 这是我的python代码:
import urllib2
url = "http://real-chart.finance.yahoo.com/table.csv?s=GOOG&ignore=.csv"
response = urllib2.urlopen(url)
data = response.read()
read = csv.DictReader(data)
我刚刚在其他地方找到了这段代码并将其复制(并用我自己的url替换它)。
我收到此错误信息:
Traceback (most recent call last):
File "01_get_traindata.py", line 25, in <module>
response = urllib2.urlopen(url)
File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 431, in open
response = self._open(req, data)
File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 449, in _open
'_open', req)
File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 409, in _call_chain
result = func(*args)
File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 1227, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 1197, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 10013] An attempt was made to access a s
ocket in a way forbidden by its access permissions>
我在其他地方读到它可能需要做一些防火墙,所以我已经禁用了我的防火墙并且它仍在发生。
我尝试过的事情: 将python.exe设置为以管理员身份运行(在提示以管理员身份运行后,我得到&#34;访问被拒绝。&#34;在命令窗口中) 已经允许我的防火墙中的python.exe(仍然没有工作)。 甚至完全关闭了防火墙(仍然无法工作)。 我查了一下,我的帐户也是管理员。
重新启动计算机后,更新:已解决。 我仍然关闭防火墙并允许python.exe通过我的防火墙。 也许需要重启。 奇怪。
答案 0 :(得分:0)
不确定你要做什么但是尝试:
import urllib
urllib.urlretrieve ("http://real-chart.finance.yahoo.com/table.csv?s=GOOG&ignore=.csv", "csv.csv")
在本地工作并保存文件。
然后尝试在您的计算机上处理您的文件?
答案 1 :(得分:-1)
您的代码适用于Win10,CPython。可能会发生问题,因为您在非特权模式下运行脚本。参见:
https://stackoverflow.com/a/2779304/1113207
因此,您可以尝试以管理员身份运行python解释器或/并禁用UAC。
其他可能的原因是本地防火墙阻止了连接:
https://stackoverflow.com/a/6806143/1113207
尝试禁用它以查看是否存在问题。