会python这些技术,英语四级轻松过!!!

不会英语的程序员不是好程序员 ?但是我知道的是程序员就喜欢自己动手干些实事 ,比如今天教大家自己动手做个有意思的项目——从历年四级英语真题中获取词频最高的 5000 个词汇 ,并进行翻译 !综合用到了爬虫 、数据分析等知识 ,亲爱的读者们不来试试吗 ?欢迎加入python学习交流q群250933691,分享我精心准备的Python学习资料,0基础到进阶!希望你们在学习Python道路上少走弯路!加油!

程序介绍

这是一个单词频率统计程序 ,基于python3 ,我将往年真题按照词频排序得到了四级词库 :总结出了 5000 个出现频率极高的单词 。

自动批量收集文件中的英语单词 txt (utf-8)

统计排序保存到本地数据库 voca.db

翻译英文得到中文解释

数据库文件提取得到csv表格

在结合到大量的往年 cet-4 真题库的情况下

本软件成为了考试必备词库

希望大家都能轻松过四级

工作流程

settings.py 配置查询文档

work.py 自动分析数据保存至voca.db数据库文件

translate.py 自动打开数据库调用api翻译单词并保存到数据库里

db2csv.py 将数据库文件转换成csv表格文件

python work.py

python translate.py

python db2csv.py

具体实现

数据 (docx 复杂的文档结构不好用,可以在word里面以txt方式保存)


读入文件拿到所有单词

def_open_file(self,filename):#打开文件,返回所有单词list

withopen(filename,‘r‘,encoding=‘utf-8‘)asf:

raw_words = f.read()

low_words = raw_words.lower()

words = re.findall(‘[a-z]+‘,low_words)#正则re找到所有单词

returnwords

剔除 常用单词(is am are do……)

def_filter_words(self,raw_words,count=NUMBERS):#载入未处理的所有单词列表 和 默认count值

new_words = []

forwordinraw_words:#找出非exclude 和 长度大于1 的单词 -> new_words

ifwordnotinexclude_listandlen(word) >1:

new_words.append(word)

pass

计数

fromcollectionsimportCounter#计数器

pass

c = Counter(words)#list new_words

returnc.most_common(5000)#拿到出现次数最多的5000单词,返回从大到小的排序list[(and,1),....]

数据库初始化 peewee模块

frompeeweeimport*

db = SqliteDatabase(‘voca.db‘)

classNewWord(Model):

单词名

name = CharField()

解释

explanation = TextField(default=‘‘)

词频

frequency = IntegerField(default=0)

音标

phonogram = CharField(default=‘‘)

classMeta:

database = db

加入单词到数据库

definsert_data(self,words_times):

向数据库内插入数据

forword,freinwords_times:

word_ins = NewWord.create(name = word , frequency = fre)#直接调用create

book.is_analyzed =True

book.save()

翻译

#iciba翻译函数

deftrans(self, word):

url =‘http://www.iciba.com/index.php?a=getWordMean&c=search&word=‘+ word

try:

req = requests.get(url)

req.raise_for_status()

info = req.json()

data = info[‘baesInfo‘][‘symbols‘][0]

assertinfo[‘baesInfo‘][‘symbols‘][0]

去除没有音标的单词

assertdata[‘ph_am‘]anddata[‘ph_en‘]

去除没有词性的单词

assertdata[‘parts‘][0][‘part‘]

except:

return(‘none‘,‘none‘)

ph_en =‘英 [‘+ data[‘ph_en‘] +‘]‘

ph_am =‘美 [‘+ data[‘ph_am‘] +‘]‘

ex =‘‘

forpartindata[‘parts‘]:

ex += part[‘part‘] +‘;‘.join(part[‘means‘]) +‘;‘

returnph_en+ph_am, ex

#调用翻译函数,保存中文到数据库

foriinNewWord.select():

i.explanation = str(t.trans(i.name)[1])

i.save()

提取所有单词到csv

importcsv

#提取所有数据库内容生成迭代对象 yield ~ 好好看看如何使用

defextract()

pass

forwordinNewWord.select():

foriin[word.name, word.explanation, word.frequency]:

datas.append(i)

yielddatas

#保存函数

defsave(data):

withopen(‘words.csv‘,‘a+‘, errors=‘ignore‘, newline=‘‘)asf:

csv_writer = csv.writer(f)

csv_writer.writerow(data)

#主程序

datas = extract()#yeild 迭代对象

whileTrue:

try:

data = next(datas)

except:

break

save(data)

收获成果啦

翻译过程


出现次数最多的简单词

出现次数较少,值得一背的词

欢迎加入python学习交流q群250933691,分享我精心准备的Python学习资料,0基础到进阶!希望你们在学习Python道路上少走弯路!加油!

原文地址:http://blog.51cto.com/14042734/2323015

时间: 2024-08-04 21:00:47

会python这些技术,英语四级轻松过!!!的相关文章

如何自学Python爬虫技术

作为程序员或者软件测试员们的一员,置信大家一定都听说过python语言. Python语言这两年是越来越火了,它渐渐崛起也是有缘由的. 比如市场需求.入门简单易学.支持多种语言--当然这些都是很官方的. 说白了,就是 写个web服务,可以用python: 写个服务器脚本,可以用python: 写个桌面客户端,可以用python: 做机器学习数据挖掘,可以用python: 写测试工具自动化脚本依旧可以用python-- Python语言是免费支持的! 既然那么好,如何利用python进行有意义的行

大学英语四级考试题型结构

自2013年12月考次起,全国大学英语四.六级考试委员会将对四.六级考试的试卷结构和测试题型作局部调整. 2015年英语四级考试题型包括四大部分:作文.听力理解.阅读理解.翻译. 一.题型结构 大学英语四级和六级的试卷结构.测试内容.测试题型.分值比例和考试时间如下表所示: 试卷结构 测试内容 测试题型 分值比例 考试时间 写作 写作 短文写作 15% 30分钟 听力理解 听力对话 短对话 单选题 8% 30分钟 长对话 单选题 7% 听力短文 短文理解 单选题 10% 短文听写 单词及词组听写

2015年12月英语四级写作模板

解决方法题型 要求考生列举出解决问题的多种途径 1. 问题现状 2. 怎样解决(解决方案的优缺点) In recent days, we have to face I problem-----A, which is becoming more and more serious. First, ------------(说明A的现状).Second, ---------------(举例进一步说明现状) Confronted with A, we should take a series of e

英语四级作文经典框架考前记住这些就够啦~

英语四级作文经典框架考前记住这些就够啦~ 议论文的提纲类型 图画议论文提纲 图表议论文提纲 图表议论文提纲 1-描述图画 2-利弊/原因/例子 3-观点阐述/措施建议 1-描述图表 2-利弊/原因/例子 3-观点阐述/措施建议 1- 解释话语 2-利弊/原因/例子 3-观点阐述/措施建议 解决型议论文提纲 普通议论文提纲1 普通议论文提纲2 1-重要必要性 2-措施建议 3-观点阐述 1-社会现象 2-利弊/原因/例子 3-观点阐述/措施建议 1-观点A 2-观点B 3-观点阐述 四级作文写作一

英语四级从句讲解

虽然在英语四级复习中,同学们都知道从句很重要,可是大家对从句并没有一个清晰的认识,那么让我们先来说说什么是从句.从句(clause)是指内含主语部分和谓语部分,表达一定的概念,但不成为一个独立句子的一组词,叫做从句.通常从句在句中可用作主语.表语.宾语.定语.状语等句子成分,所以在英语四级考试中,所考的从句,大概有五类: 名词性从句:主语从句.宾语从句.同位语从句.表语从句连接词取决于后面的从句是什么样的形式; 如果是陈述句,直接加that引导; 一般疑问句:先把一般疑问句变成陈述句语序,然后在

python开发技术详解(二)

文章目录: 数据类型 数据类型 a=1 b=2 print id(a) print id(b) Out[1]: 163578032 Out[2]: 163578032 python开发技术详解(二)

英语四级复习攻略

1.抓紧时间 四级题量较大,听力结束后,时间就没剩多少,因此,要注意阅读和翻译部分的时间掌握 2.明确做题思路 阅读时①先看题干,在题干中找关键词.定位词,一般是时间.人名.地名等②返回原文,快速定位,找跟关键词相关的语句 ③理解句子后,仔细比对四个选项,看哪个选项的内容和原文表达的最为接近. 对于作文 找几篇范文,来抄写下,感觉下文章语句.另外,找三篇万能模板,在纸上抄写下,争取背下,到时套用. 对于听力 临阵磨枪也很重要,多听听之前做过的听力题,重复听,熟悉四级听力的语速语调,即所谓的“磨耳

Python爬虫技术不只是用来抓数据,生活处处需要python

写爬虫抓数据只是爬虫技术的应用方向之一,一个公司可以靠着爬虫技术引来倍增的流量/用户, 完成关键的冷启动,还能用来打败对手:个人可以利用爬虫技术获得被动收入,俗称趟挣. 这篇聊一下公司篇. 定义下爬虫技术 为了抓数据所运用的模拟登录.模拟账号.养IP/账号池.抓包分析.模拟用户访问等技术手段,我们称为爬虫技术. 典型的如:一键发布功能 一个自媒体人会维护多个自媒体平台, 如头条,微信公众号,简书,知乎专栏,搜狐自媒体等等,同一篇稿子会往这十几个平台搬运,靠人去挨个平台编辑耗时耗力,所以衍生出做一

Python——Python缓存技术

一段非常简单代码 普通调用方式 def console1(a, b): print("进入函数") return (a, b) print(console1(3, 'a')) print(console1(2, 'b')) print(console1(3.0, 'a')) 很简单的一段代码,传入两个参数.然后打印输出.输出结果 进入函数 (3, 'a') 进入函数 (2, 'b') 进入函数 (3.0, 'a') 使用某个装饰器后 接下来我们引入functools模块的lru_cac