# 计算机英语词频统计 **Repository Path**: bingfengfeifei/wordCount ## Basic Information - **Project Name**: 计算机英语词频统计 - **Description**: 使用python3.7编写,统计wikipedia(stackoverflow待开发)等网页计算机相关话题的信息,分析出频率出现最高的英语词汇,提高计算机专业相关人员背单词的收益率。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 2 - **Created**: 2018-10-15 - **Last Updated**: 2024-08-22 ## Categories & Tags **Categories**: doc-tools **Tags**: None ## README # 计算机英语词频统计 ### 项目介绍 使用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安装教程](https://yeasy.gitbooks.io/docker_practice/content/install/) #### 启动解析单词的任务: ``` 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 ### 使用说明 0. 如果仅查看单词表,可直接点击项目的[wordlist.pdf](https://gitee.com/bingfengfeifei/wordCount/raw/master/wordlist.pdf)下载我已经跑好的pdf。 1. 代码运行需要使用python3.7版本,用于支持asyncio的最新语法特性 2. 本软件在deepin linux系统下面编写,使用了linux平台相关的库fcntl,未对windows系统支持。 3. 本软件使用了第三方库: #### aiohttp ``` pip3 install aiohttp ``` #### bs4(beautifulSoup): ``` pip3 install bs4 ``` beautifulSoup使用了lxml作为html的解析库,需要安装lxml ``` pip3 install lxml ``` #### sqlalchemy: ``` pip3 install sqlalchemy ``` #### pdfkit: ``` pip3 install pdfkit ``` pdfkit依赖wkhtmltopdf,需要使用下面的命令安装 ``` ubuntu: sudo apt-get install wkhtmltopdf centos: yum install wkhtmltopdf ``` #### nltk: ``` pip3 install nltk ``` 注:nltk依赖需要第三方模块,实际运行时会有提示,可以根据提示下载,速度有些慢。 nltk依赖模块安装: python3进入python交互式命令行,安装依赖模块 ``` >>> import nltk >>> nltk.download('punkt') >>> nltk.download('averaged_perceptron_tagger') >>> nltk.download('wordnet') ``` 4. 启动方式 启动解析词频数据任务: ``` python3 task.py ``` 分析结束生成单词表: ``` python3 pdfCreator.py ``` ### 软件运行效果 > 运行过程 ![输入图片说明](https://images.gitee.com/uploads/images/2018/1025/234902_25e6d83a_347427.png "运行截图.png") > 生成单词表截图 ![输入图片说明](https://images.gitee.com/uploads/images/2018/1027/000728_eb44fd6d_347427.png "1.png") ![输入图片说明](https://images.gitee.com/uploads/images/2018/1027/000739_208f3eec_347427.png "2.png") ### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)