计算机英语md,README.md

# 计算机英语词频统计

### 项目介绍

使用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/)

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值