python 英语词汇_【我爱背单词】用Python提炼3000英语新闻高频词汇
学英语,无论目的何在,词汇量总是一个绕不过去的坎,没有足够的词汇量,都难以用文法来组词造句。
前段时间,恶魔的奶爸提供了几份偏向于各个领域的高频词汇,很是不错。
最近用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英语新闻高频词汇相关推荐
- python 对excel文件进行分词并进行词频统计_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...
作为一名19考研er 距离我考研结束已经过去大半年 想和大家分享一下当初背单词的骚操作 众所周知 考研英语"得阅读者得天下" 提升词汇量又是提高阅读的关键 那么问题来了? 大家都是 ...
- python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...
作为一名19考研er 距离我考研结束已经过去大半年 想和大家分享一下当初背单词的骚操作 众所周知 考研英语"得阅读者得天下" 提升词汇量又是提高阅读的关键 那么问题来了? 大家都是 ...
- python论坛签到_吾爱论坛签到脚本-python
[Python] 纯文本查看 复制代码 import requests cookie1 = """你的cookie信息""" url1 = ...
- 《我爱背单词》 Alpha版 发布说明
--发布地址(baidu网盘) http://pan.baidu.com/s/15omtB --简介 <我爱背单词>是一款英语单词记忆和管理辅助软件,旨在帮助广大考生在短期内攻克GRE. ...
- 英语背单词有用吗_对于大学生英语背单词软件哪个好可以用_最好的背单词
对于大学生英语背单词软件哪个好可以用_最好的背单词 内容预览 大学背单词软件abundance.mp4 大学背单词软件abuse.mp4 大学背单词软件bum.mp4 大学背单词软件burden.mp ...
- BNUOJ 27935 我爱背单词 (加强版) (FFT)
题目链接: BNUOJ 27935 - 我爱背单词 (中文题面) 分析: 原题数据范围很小,可以直接暴力计算新单词对每一天需要背的单词量的贡献, 注意到这个过程实质是一个多项式乘法,第Q天所需要背的单 ...
- BNU27935——我爱背单词——————【数组模拟】
我爱背单词 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class name: ...
- “我爱背单词”beta版发布与使用说明
我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的"我爱背单词"beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天 ...
- Python灰帽子_黑客与逆向工程师的Python编程之道
收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道
- python英语词频_【我爱背单词】从300万单词中给你一份3000英语新闻高频词汇
-----------------2017-01-22 20:21---------------- [单词集已经更新] [有知友提醒,使用Windows自带的记事本打开会出现单词为分割开来的情况,晚上 ...
最新文章
- 笔记之远程桌面服务(RDS)
- 会唱歌、会弹琴,清华大学 AI 学生华智冰火了
- java编译会产生多少个类文件,编译一个定义了三个类和四个方法的Java源程序文件,总共会产生多少个字节码文件 ? ( )...
- Java多态-如何理解父类引用指向子类对象
- NetBeans 时事通讯(刊号 # 22 - Aug 18, 2008)
- Vue--findIndex方法的使用原理
- 【Java进阶】Spring Boot集成ES
- 【MySQL】MySQL出现Waiting for table metadata lock的原因、解决方法
- php怎么写官网,PHP - Manual: 简介 (官方文档)
- 探测器反向偏压_近红外和可见光双模有机光电探测器
- jquey的parent()和parents()的区别
- python给用户打标签_用Python实现RFM模型——互联网产品用户分层必备技巧
- 使用AvgPooling替换AdaptivePooling,池化padding,global average pooling 与 average pooling 的差别
- mysql 小类型_mysql数据类型
- 计算机主机hdmi接口是什么意思,什么是hdmi接口?
- Python中的Counter.most_common()方法
- python自动拨号_python adsl拨号
- android+锁屏录像,快速录像机(锁屏录像)
- 解决C#WinForm在设置FormBorderStyle属性=None时出现的窗口大小变化问题
- 50条经典(学生,课程,成绩,教师)表SQL语句~~值得一看!
热门文章
- 3种常用的缓存读写策略
- 知我者,谓我心忧,不知我者,谓我何求。何必说?
- 女程序员是最好的语言 | 3·8特辑
- html表格可以包含多个tbody,使用Ajax呈现具有多个tbody元素的HTML表格
- 关于wireshark包体的中文解码
- Error creating bean with name ‘serverEndpointExporter‘ defined in class path resource
- 中国股票市场化整为零,然后聚沙成塔
- Log4j使用配置总结
- 博弈论(Game Theory)入门——完全信息静态博弈
- oracle length