python爬虫英文单词_Python_爬虫百度英文学习词典
主方法main
定義主函數(shù)main,程序的入口,首先導(dǎo)入io包,用os.path.exists判斷字典文件是否存在,如果不存在則新建一個(gè),然后進(jìn)入循環(huán)中,讓用戶輸入相應(yīng)的數(shù)字,執(zhí)行相應(yīng)的功能。
def main():
flag = os.path.exists('dictionary.csv')
if flag == False:
d = open('dictionary.csv', 'w')
d.close()
while 'true':
print('---英語學(xué)習(xí)詞典(1添加2查詢3退出)---')
num = input('請輸入相應(yīng)功能的編號:')
if num == '1':
inputWord()
elif num == '2':
serachWord()
elif num == '3':
break
else:
print('輸入有誤,請重新輸入')
inputWord方法
inputWord這是一個(gè)添加英語和對應(yīng)中文意思的方法,打開這個(gè)文件,先把光標(biāo)移動(dòng)到開頭,通過一行一行掃描,然后把行內(nèi)的英語單詞通過分片的形式分割出來,判斷用戶輸入的英文單詞字典中是否存在,如果存在則提示,并輸入對應(yīng)的翻譯,如果不存在則再進(jìn)行添加進(jìn)字典里面
def inputWord():
with open('dictionary.csv', 'a+', encoding='utf-8', newline='') as csv_file:
csv_file.seek(0)
e = input('請輸入你要錄入的英語單詞:')
files = csv_file.readlines()
for file in files:
file = file.replace('\n', '')
ls = file.split('-')
if ls[0] == e:
print('該單詞已添加過了,中文意思是:' + ls[1])
return
# 字典找不到單詞,開始添加
csv_file.seek(2)
c = input('請輸入對應(yīng)的中文意思:')
line = '\n' + e + '-' + c
csv_file.writelines(line)
print(e + '已添加成功')
serachWord方法
serachWord這是查找功能,用戶輸入英文單詞,查詢中文意思,打開字典文件,每行掃描,提取前面的英文單詞,遍歷與用戶輸入的單詞匹配,如果不存在則提示,沒有找到這個(gè)單詞,然后給用戶提供是否需要通過百度翻譯,查看意思,并且翻譯結(jié)束后可以添加進(jìn)字典中
def serachWord():
word = input('請輸入你要查詢的英語單詞')
with open('dictionary.csv', 'r+', encoding='utf-8') as csv_file:
files = csv_file.readlines()
# print(files)
# print(type(files))
for file in files:
file = file.replace('\n', '')
ls = file.split('-')
# print(ls)
if ls[0] == word:
print('中文意思是:' + ls[1])
return
print('字典庫中未找到這個(gè)單詞')
flag = input('是否要通過百度翻譯查看翻譯:(輸入Y/y查詢)')
if (flag == 'Y') | (flag == 'y'):
chn = baudu(word)
print('百度翻譯:' + chn)
if chn != '出錯(cuò)了':
flag2 = input('是否要添加進(jìn)詞典:(輸入Y/y添加)')
if (flag2 == 'Y') | (flag2 == 'y'):
line = '\n' + word + '-' + chn
csv_file.writelines(line)
print(word + '已添加成功')
baidu方法
baidu這個(gè)方法,是通過百度翻譯官網(wǎng)爬蟲實(shí)現(xiàn),用到requests庫
def baudu(word):
url = 'https://fanyi.baidu.com/sug'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36'
}
data = {'kw': word}
try:
r = requests.post(url, data=data, headers=headers, timeout=5)
r.raise_for_status()
data = r.json()['data']
for i in data:
if i['k'] == word:
return i['v']
else:
return '出錯(cuò)了'
except:
return '出錯(cuò)了'
實(shí)驗(yàn)結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的python爬虫英文单词_Python_爬虫百度英文学习词典的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UIImageView 圆角
- 下一篇: [翻译] 学习iOS开发的建议:如何从菜