在近期从nltk模块中下载一些语料库时,会莫名出现下载失败,连接失败的问题,对此我找到了问题的根源,可能是nltk在版本更迭过程中服务器的ip地址发生了变动,而且屏蔽了我的主机的ip地址访问,不管是用镜像源还是更改dns,开梯子等都无法得到解决,下载超时或者失败
应该是nltk更换服务器了,原来的官网都无法访问
这个问题可以通过更改主机的hosts文件解决
首先进入路径:C:\Windows\System32\drivers\etc,找到hosts文件
用txt文本打开hosts,在hosts最后一行粘贴上已更新正确的nltk服务器的IP地址
例如下:直接粘贴: 185.199.108.133 raw.githubusercontent.com
如果显示不让user更改windows操作系统的文件(无修改权限),就将其拖动到桌面上更改,再拉回去即可
接下来就可以直接下载nltk和nltk的所有资源,debug时缺啥下载啥
例如可以:
import nltk
# 下载 movie_reviews 语料库
nltk.download('movie_reviews')
可以写成py文件运行,也可以直接在python控制台逐行输入。换成想要下载的包就好了,前提是下载并导入nltk模块。
对于185.199.108.133这个IP地址,很可能是动态更新的,2023年我还可以直接下载punkt包,现在就不行了,以后下载不了就在hosts更改下这个包的IP就行。具体如下查找:
打开网站:My IP | IP Address Tools | IP Geolocation | Website Traffic Checker
这个网站用于查找所有公开网站(域名)的ip
搜索键入:raw.githubusercontent.com(punkt默认从此处下载)
然后就显示出来IP了,挑一个就行:
如果你只是需要nltk的某部分,转到新的官网:NLTK Data,找到对应的包下载并解压到对应位置即可,因为解压的位置不确定,对应的api接口难以对应,我建议还是使用nltk的download函数解决他的包下载问题。还有问题私信作者即可