【问题标题】:python nltk download from external urlpython nltk 从外部 url 下载
【发布时间】:2018-06-07 03:18:40
【问题描述】:

我正在运行 nltk 测试的服务器无法直接访问位于 http://www.nltk.org/nltk_data/ 的外部 nltk 模型,但我们确实有一个私有镜像设置来访问 nltk 模型。

我如何告诉 ntlk 下载器从私有镜像而不是 http://www.nltk.org/nltk_data/ 安装?

我希望这可以工作,但没有:

>>> nltk.downloader.Downloader(server_index_url='https://MyNltkMirror/index.xml').download()
NLTK Downloader
---------------------------------------------------------------------------
    d) Download   l) List    u) Update   c) Config   h) Help   q) Quit
---------------------------------------------------------------------------
Downloader> d

Download which package (l=list; x=cancel)?
  Identifier> abc
    Downloading package abc to /path/to/nltk_data...
    Error downloading 'abc' from
        <https://raw.githubusercontent.com/nltk/nltk_data/gh-
        pages/packages/corpora/abc.zip>:   <urlopen error [Errno 104]
        Connection reset by peer>

或者是否有可能我这样做是正确的,并且从我的服务器连接到 raw.githubusercontent.com 时出现访问问题?

谢谢。

【问题讨论】:

  • 你从哪里下载数据?很可能您在代理后面或被阻止。请咨询您的网络管理员?
  • 防火墙管道位于 nltk 镜像和 https://raw.githubusercontent.com 之间。但是,如果 nltk 下载器尝试直接从 github 下载而不是从镜像下载,这将是一个问题。这就是为什么我希望确认我在语法上是正确的,或者是否有另一个下载器选项可以做我想要在这里实现的目标。
  • 是否有您想下载的特定软件包?
  • 是的,想全部下载
  • 让我试试看我们的替代内容主机是否可以面向外部。

标签: python python-3.x nltk


【解决方案1】:

尝试在不使用交互模式的情况下下载包。

# Your mirror.
mirror_url = "http://example.com/my_corpus_data/index.xml"
dler = nltk.downloader.Downloader(mirror_url)

# Directly download the package(s) without using the interactive mode.
dler.download('popular')

【讨论】:

  • 好建议,谢谢。不幸的是,我收到了与原始帖子中列出的相同的错误消息。
猜你喜欢
  • 2021-11-19
  • 2012-11-07
  • 2014-11-17
  • 2023-03-22
  • 2023-02-17
  • 2021-11-24
  • 2016-10-28
  • 2014-11-08
  • 2019-12-03
相关资源
最近更新 更多