学英语,无论目的何在,词汇量总是一个绕不过去的坎,没有足够的词汇量,都难以用文法来组词造句。

前段时间,恶魔的奶爸提供了几份偏向于各个领域的高频词汇,很是不错。

最近用Python写爬虫入门教程的时候,碰到过几个英文网站,便有了统计一份网站英文单词词频的念头。

3000高频单词库说明:

来源:http://www.chinadaily.com.cn/ 全站4700+个网页

剔除127个常见停用词,剔除单词长度为1的单词,剔除网站英文名chinadaily。

我年纪还轻,阅历不深的时候,我父亲教导过我一句话,我至今还念念不忘。 “每逢你想要批评任何人的时候, ”他对我说,“你就记住,这个世界上所有的人,并不是个个都有过你拥有的那些优越条件。”

——《了不起的盖茨比》

以下为3000高频词汇的提取过程,如需最后的单词库,直接拉到文末。

1.爬取ChinaDaily全站网页URL

def get_all_link(url):

try:

# 分割网址

host = url.split('/')

# print(host[2])

wbdata = requests.get(url).text

soup = BeautifulSoup(wbdata,'lxml')

for link in soup.find_all('a'):

# 判断网页中提取的URl形式

if link.get('href') not in pages and link.get('href') is not None:

if link.get('href').startswith('http'):

if link.get('href').split('/')[2] == host[2]:

newpage = link.get('href')

# print(newpage)

pages.add(newpage)

get_all_link(newpage)

elif link.get('href').startswith('/'):

newpage = link.get('href')

pages.add(newpage)

newpage_url = 'http://'+host[2]+newpage

# print(newpage_url)

get_all_link(newpage_url)

print('url数量:'+str(len(pages)))

except BaseException as e:

print('程序出错:{0}'.format(e))

2.请求爬取的URL并解析网页单词

# 解析网页单词并写入文本文件

def resolve_html(url):

wbdata = requests.get(url).content

soup = BeautifulSoup(wbdata,'lxml')

# 替换换行字符

text = str(soup).replace('\n','').replace('\r','')

# 替换

text = re.sub(r'\.*?\\>',' ',text)

# 替换HTML标签

text = re.sub(r'\<.*?\>'," ",text)

text = re.sub(r'[^a-zA-Z]',' ',text)

# 转换为小写

text = text.lower()

text = text.split()

text = [i for i in text if len(i) > 1 and i != 'chinadaily']

text = ' '.join(text)

print(text)

with open("j:\python\words.txt",'a+',encoding='utf-8') as file:

file.write(text+' ')

print("写入成功")

if __name__ == '__main__':

pool = Pool(processes=2)

pool.map_async(resolve_html,urllist)

pool.close()

pool.join()

print('运行完成')

3.对单词文本文件进行词频处理

# 对单词文本文件进行词频处理

def resolve_words():

corpath = 'J:\\python\\words'

wordlist = PlaintextCorpusReader(corpath,'.*')

allwords = nltk.Text(wordlist.words('words.txt'))

print("单词总数",len(allwords))

print("单词个数",len(set(allwords)))

stop = stopwords.words('english')

swords = [i for i in allwords if i not in stop]

print("去除停用词的单词总数:",len(swords))

print("去除停用词的单词个数:",len(set(swords)))

print("开始词频统计")

fdist = nltk.FreqDist(swords)

print(fdist.most_common(3000))

for item in fdist.most_common(3000):

print(item,item[0])

with open('J:\\python\\words3000.txt','a+',encoding='utf-8') as file:

file.write(item[0]+'\r')

print("写入完成")

结果为:

单词总数 3537063

单词个数 38201

去除停用词的单词总数: 2603450

去除停用词的单词个数: 38079

部分单词及词频为:

('online', 8788)

('business', 8772)

('society', 8669)

('people', 8646)

('content', 8498)

('story', 8463)

('multimedia', 8287)

('cdic', 8280)

('travel', 7959)

('com', 7691)

('cover', 7679)

('cn', 7515)

('hot', 7219)

('shanghai', 7064)

('first', 6941)

('photos', 6739)

('page', 6562)

('years', 6367)

('paper', 6289)

('festival', 6188)

('offer', 6064)

('sports', 6025)

('africa', 6008)

('forum', 5983)

最后得到一个包含3000个高频词汇的txt文本文件,大家可以将其导入到各大单词软件的单词本中。

下载地址:

关注微信公众号:州的先生

回复关键字:3000高频词

分享到:

python 英语词汇_【我爱背单词】用Python提炼3000英语新闻高频词汇相关推荐

  1. python 对excel文件进行分词并进行词频统计_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...

    作为一名19考研er 距离我考研结束已经过去大半年 想和大家分享一下当初背单词的骚操作 众所周知 考研英语"得阅读者得天下" 提升词汇量又是提高阅读的关键 那么问题来了? 大家都是 ...

  2. python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...

    作为一名19考研er 距离我考研结束已经过去大半年 想和大家分享一下当初背单词的骚操作 众所周知 考研英语"得阅读者得天下" 提升词汇量又是提高阅读的关键 那么问题来了? 大家都是 ...

  3. python论坛签到_吾爱论坛签到脚本-python

    [Python] 纯文本查看 复制代码 import requests cookie1 = """你的cookie信息""" url1 = ...

  4. 《我爱背单词》 Alpha版 发布说明

    --发布地址(baidu网盘) http://pan.baidu.com/s/15omtB --简介  <我爱背单词>是一款英语单词记忆和管理辅助软件,旨在帮助广大考生在短期内攻克GRE. ...

  5. 英语背单词有用吗_对于大学生英语背单词软件哪个好可以用_最好的背单词

    对于大学生英语背单词软件哪个好可以用_最好的背单词 内容预览 大学背单词软件abundance.mp4 大学背单词软件abuse.mp4 大学背单词软件bum.mp4 大学背单词软件burden.mp ...

  6. BNUOJ 27935 我爱背单词 (加强版) (FFT)

    题目链接: BNUOJ 27935 - 我爱背单词 (中文题面) 分析: 原题数据范围很小,可以直接暴力计算新单词对每一天需要背的单词量的贡献, 注意到这个过程实质是一个多项式乘法,第Q天所需要背的单 ...

  7. BNU27935——我爱背单词——————【数组模拟】

    我爱背单词 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name:  ...

  8. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的"我爱背单词"beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天 ...

  9. Python灰帽子_黑客与逆向工程师的Python编程之道

    收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道

  10. python英语词频_【我爱背单词】从300万单词中给你一份3000英语新闻高频词汇

    -----------------2017-01-22 20:21---------------- [单词集已经更新] [有知友提醒,使用Windows自带的记事本打开会出现单词为分割开来的情况,晚上 ...

最新文章

  1. 笔记之远程桌面服务(RDS)
  2. 会唱歌、会弹琴,清华大学 AI 学生华智冰火了
  3. java编译会产生多少个类文件,编译一个定义了三个类和四个方法的Java源程序文件,总共会产生多少个字节码文件 ? ( )...
  4. Java多态-如何理解父类引用指向子类对象
  5. NetBeans 时事通讯(刊号 # 22 - Aug 18, 2008)
  6. Vue--findIndex方法的使用原理
  7. 【Java进阶】Spring Boot集成ES
  8. 【MySQL】MySQL出现Waiting for table metadata lock的原因、解决方法
  9. php怎么写官网,PHP - Manual: 简介 (官方文档)
  10. 探测器反向偏压_近红外和可见光双模有机光电探测器
  11. jquey的parent()和parents()的区别
  12. python给用户打标签_用Python实现RFM模型——互联网产品用户分层必备技巧
  13. 使用AvgPooling替换AdaptivePooling,池化padding,global average pooling 与 average pooling 的差别
  14. mysql 小类型_mysql数据类型
  15. 计算机主机hdmi接口是什么意思,什么是hdmi接口?
  16. Python中的Counter.most_common()方法
  17. python自动拨号_python adsl拨号
  18. android+锁屏录像,快速录像机(锁屏录像)
  19. 解决C#WinForm在设置FormBorderStyle属性=None时出现的窗口大小变化问题
  20. 50条经典(学生,课程,成绩,教师)表SQL语句~~值得一看!

热门文章

  1. 3种常用的缓存读写策略
  2. 知我者,谓我心忧,不知我者,谓我何求。何必说?
  3. 女程序员是最好的语言 | 3·8特辑
  4. html表格可以包含多个tbody,使用Ajax呈现具有多个tbody元素的HTML表格
  5. 关于wireshark包体的中文解码
  6. Error creating bean with name ‘serverEndpointExporter‘ defined in class path resource
  7. 中国股票市场化整为零,然后聚沙成塔
  8. Log4j使用配置总结
  9. 博弈论(Game Theory)入门——完全信息静态博弈
  10. oracle length