Python 3.5: NLTK下载默认URL不会改变



我已经更新了downloader.py中的DEFAULT_URL,我仍然得到以下错误。我最初只是尝试nltk.downloader()和文件浏览器更新,但当我试图下载时,它仍然恢复到github站点。

DEFAULT_URL = 'http://nltk.org/nltk_data/'

.

import nltk
nltk.set_proxy('proxyaddress',user=None)
dl = nltk.downloader.Downloader("http://nltk.org/nltk_data/")
dl.download('all')
[nltk_data] Downloading collection 'all'
[nltk_data]    |
[nltk_data]    | Downloading package abc to C:nltk_data...
[nltk_data]    | Error downloading 'abc' from
[nltk_data]    |     <https://raw.githubusercontent.com/nltk/nltk_data
[nltk_data]    |     /gh-pages/packages/corpora/abc.zip>:   <urlopen
[nltk_data]    |     error [Errno 11004] getaddrinfo failed>

为什么仍然默认为raw.githubusercontent.com/nltk/nltk_data?

问题来自您的代理。我不能说你的代理配置出了什么问题,但是用自定义下载url初始化一个下载程序可以正常工作(不需要修改nltk/downloader.py中的nltk源):

dl = nltk.downloader.Downloader("http://example.com/my_corpus_data/index.xml")

注意,自定义url必须解析为描述可下载资源的XML文档,格式为nltk所期望的;你的问题中的代码指向http://nltk.org/nltk_data的人类可读列表,这只会导致错误。(假设您的实际代码使用不同的URL,以及代理设置周围的不同代码。)

无论如何,问题一定出在你的代理上,或者你使用它的方式上。nltk的set_proxy函数只调用urllib.request中的几个函数来声明代理。它永远不会接近nltk的downloader模块,所以它不可能影响下载器的默认值。

相关内容

  • 没有找到相关文章