使用python3.7编写,统计wikipedia,stackoverflow等网页计算机相关的信息,分析出频率出现最高的英语词汇,提高计算机专业相关人员背单词的收益率。
本程序提供多进程+协程的方式以及多线程+协程两种方式启动。
settings模块保存启动方式的参数,和一些配置相关的数据。
model.models模块保存ORM的数据库模型。
log模块提供创建log对象的统一接口。
statistics模块提供统计信息的接口。
utils模块提供一些通用的工具类函数。
wordStandarzized模块提供单词词性标准化的功能。
wordCount模块解析数据库中的标准化后的文章,提供词频统计功能。
wordTranslate模块从使用有道词典Web去获取单词的翻译。
pdfCreator模块解析已经分析好的词频数据库,组装成HTML Table,然后转换为PDF
datastore模块提供数据库操作的统一接口。
task模块提供程序启动的入口,根据settings模块的参数不同,可以使用多进程+协程和多线程+协程的方式启动。
wikipedia模块解析wikipedia网站计算机相关话题,采用协程的方式解析URL和文章内容,并且将无用的信息剔除,将单词的词性标准化。
本软件使用docker部署方式
需要安装docker环境:docker安装教程
docker run -it -v ~/wordcountData:/root/code/data bingfengfeifei/wordcount start
其中~/wordcountData是填写自己环境的一个空目录,用于存放docker的数据和生成的单词表文件。生成的单词表也从这个目录获取
docker run -it -v ~/wordcountData:/root/code/data bingfengfeifei/wordcount create 1000
最后的参数create 1000,代表TOP1000频率的单词的单词表。其中1000可以填写其他的数值,也可以不填,默认为5000
pip3 install aiohttp
pip3 install bs4
beautifulSoup使用了lxml作为html的解析库,需要安装lxml
pip3 install lxml
pip3 install sqlalchemy
pip3 install pdfkit
pdfkit依赖wkhtmltopdf,需要使用下面的命令安装
ubuntu: sudo apt-get install wkhtmltopdf
centos: yum install wkhtmltopdf
pip3 install nltk
注:nltk依赖需要第三方模块,实际运行时会有提示,可以根据提示下载,速度有些慢。
nltk依赖模块安装:
python3进入python交互式命令行,安装依赖模块
>>> import nltk
>>> nltk.download('punkt')
>>> nltk.download('averaged_perceptron_tagger')
>>> nltk.download('wordnet')
python3 task.py
分析结束生成单词表:
python3 pdfCreator.py
运行过程
生成单词表截图
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。