【问题标题】:urlopen failure in python but successful in Rpython中的urlopen失败但在R中成功
【发布时间】:2015-10-09 18:18:21
【问题描述】:

我正在尝试从需要使用 python 的工作项目的 Web API 下载数据集。我使用 python 3.4 和库 urllib 打开请求。这不起作用:

from urllib import request
r = request.urlopen(SOME_URL)

这给出了错误:

   Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "C:\Anaconda3\lib\urllib\request.py", line 161, in urlopen
   return opener.open(url, data, timeout)
   File "C:\Anaconda3\lib\urllib\request.py", line 463, in open
    response = self._open(req, data)
   File "C:\Anaconda3\lib\urllib\request.py", line 481, in _open
   '_open', req)
   File "C:\Anaconda3\lib\urllib\request.py", line 441, in _call_chain
   result = func(*args)
   File "C:\Anaconda3\lib\urllib\request.py", line 1210, in http_open
   return self.do_open(http.client.HTTPConnection, req)
   File "C:\Anaconda3\lib\urllib\request.py", line 1184, in do_open
   raise URLError(err)
   urllib.error.URLError: <urlopen error [WinError 10060] A connection  attempt failed because the connected party did not properly respond after a   period of time,
or established connection failed because connected host has failed to respond>

但是当我使用具有相同 URL 的 RStudio 时,它可以工作:

dt = read.csv(SOME_URL)

这为我提供了我想要的确切数据集。

对于我们想要保持统一技术堆栈的项目(整个过程只使用python),有没有人知道为什么URL可以在R中打开但不能在python中打开?我需要为 python 配置什么特殊设置吗?

谢谢

【问题讨论】:

  • 您能否举例说明在这两种情况下如何格式化 url 字符串?

标签: python r web-scraping urlopen


【解决方案1】:

以下应该可以完成工作:

urllib2.urlopen(SOME_URL).read()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    相关资源
    最近更新 更多