谁愿意帮我爬一遍 WordReference

你电脑或虚拟机装有较新版本的 Ubuntu 系统,Ubuntu 内装有 Python3 和 pip3,通过 pip3 安装 requests、beautifulsoup4、html5lib。

设备联网,打开终端,cd 到 .py 所在目录,执行。

执行完,得到文件 dc_n.txt,合并-压缩后上传到这里就好了,感谢!

2 Likes

能不能做成Win10下可运行的py???

这次求助大概率会没结果,因为 Linux 用户少,其中懂点儿 Python 且愿意花时间帮忙的人,就更少了。

我对 MDX 制作其实不感兴趣,也不喜欢收集词典。发此贴,主要想看看代码的多进程部分是否真的没问题。

1 Like

这儿要放在 if __name__ == "__main__" 里面,其他就没问题了。多进程常见疏忽。

这网站一共有多少个词条?

这里我漏写了,应该加上,但少了它并不影响直接执行 .py 文件的结果。词条缺失是因为有进程被系统杀掉了。词条总数我不知道。

2 Likes

网络不稳定会不会杀掉?

1 Like

如果你确定是系统杀掉进程,Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉。内核检测到系统内存不足、挑选并杀掉某个进程的过程可以参考内核源代码linux/mm/oom_kill.c,当系统内存不足的时候,out_of_memory()被触发,然后调用select_bad_process()选择一个”bad”进程杀掉。如何判断和选择一个”bad进程呢?linux选择”bad”进程是通过调用oom_badness(),挑选的算法和想法都很简单很朴实:最bad的那个进程就是那个最占用内存的进程。

1 Like

网络断开,程序会不停地重试,不停地打印 “ERROR”,直到网络正常,这个过程中进程不会死。中国大陆访问 WR 偶尔会有问题,让 requests.get() 很奇怪地卡住(不超时),这时我们需要手动断网再联网,让程序继续运行。

1 Like

在弄了。

4 Likes

真心谢谢你。虽然我们理念很不一致,交集不多。

2 Likes

其实很多人都原本善良的,每当更谦逊一些,少一些戾气,帮助就会更多一些。

2 Likes

这是那个搭配词典吗?是的话已经有了。

1 Like

https://downloads.freemdict.com/wordreference.tar.gz

不知道全不全,不到4W词条。

3 Likes

那个100G集合里有个2019版的,70492个词条。

1 Like

https://downloads.freemdict.com/尚未整理/共享2020.5.11/content/2_汉英英汉/WR英汉词典/

2 Likes

是的,wordreference有很多语言版本,不同版本使用的词典不同。英英的内容多很多,英中的释义也有自己的特色。

1 Like

lurker 原来的数据 > 200MB 还是有缺漏
我抓了两次,一次 80MB,一次 100MB…

4个十几兆大小文件,显然有缺失啊,进程被杀 OR 内存不够?

2 Likes

你加点 log 吧,不是任何硬件原因。

1 Like