记一次关于sklearn.datasets.fetch_20newsgroups的下载速度极慢的解决

王尼玛

最近, 耗子我在做关于互联网新闻分类的项目, 需要用到sklearn.datasets里新闻数据抓取器fetch_20newsgroups, 而当将参数subset设置为'all'时, fetch_20newsgroups需要即时从互联网下载数据, So:

垃圾下载速度

稍有python下载经验的就知道, 1M就得等很久了, 这是14M, 啊啊!


So:老办法一

直接复制图片中的网址下载:

https://ndownloader.figshare.com/files/5975967

然后, 依然很慢......
火狐自带的下载器


So:老办法二

复制链接, 用火狐浏览器插件多线程下载器下载
额, 也不算快啊......
速度还行......


So:老办法三

直接复制链接给迅雷呀!? 刚咋没想到呢????
行吧, 还算迅雷给力......

接下来。。。

问题又来了, 有文件了, Python 怎么读取啊???
文件名是 20newsbydate.tar.gz
然后我就搜了 Python如何读取gz文件
大概是我中午没睡好吧, 搜这干嘛......

几经波折, 终于找到了......
感谢大神的分享: 这里是原文

在此说明如下:
fetch_20newsgroups函数将下载的文件放在
C:\Users\(你的user_name)\scikit_learn_data\20news_home目录下
将你下载的文件放在这里

注:
Python下载的文件叫20new-sbydate.tar.gz
你下载的叫20newsbydate.tar.gz
所以改成它那样的就成
(不过自己应该先看下, 你那个版本的Python下载的文件名字是啥)


慢慢找。。。。。。

进入Python安装文件夹中找到文件 twenty_newsgroups.py

用任意文本编辑器打开它
找到download_20newsgroups函数
download_20newsgroups函数

上红框是下载文件的部分, 下红框是解压文件的部分
So, 我们只需要将上红框注释掉, 并加入文件地址即可
然后, ctrl+s , 如图:
记着Ctrl+s

有可能再报一个缩进的错:
缩进错误

缩进嘛, 看下哪行的4个空格变成一个Tab了, 改过来即可


So:

OK了!!

这是耗子我第一次发文章, 有错误的请不吝赐教, 耗子一定改正。 明天就是中秋节了, 现在的实验室空空荡荡的只剩下我们几个了, 提前祝大家中秋快乐!

阅读 8.1k

此号作废!

370 声望
12 粉丝
0 条评论

此号作废!

370 声望
12 粉丝
宣传栏