日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬虫英文单词_Python_爬虫百度英文学习词典

發布時間:2023/12/10 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫英文单词_Python_爬虫百度英文学习词典 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主方法main

定義主函數main,程序的入口,首先導入io包,用os.path.exists判斷字典文件是否存在,如果不存在則新建一個,然后進入循環中,讓用戶輸入相應的數字,執行相應的功能。

def main():

flag = os.path.exists('dictionary.csv')

if flag == False:

d = open('dictionary.csv', 'w')

d.close()

while 'true':

print('---英語學習詞典(1添加2查詢3退出)---')

num = input('請輸入相應功能的編號:')

if num == '1':

inputWord()

elif num == '2':

serachWord()

elif num == '3':

break

else:

print('輸入有誤,請重新輸入')

inputWord方法

inputWord這是一個添加英語和對應中文意思的方法,打開這個文件,先把光標移動到開頭,通過一行一行掃描,然后把行內的英語單詞通過分片的形式分割出來,判斷用戶輸入的英文單詞字典中是否存在,如果存在則提示,并輸入對應的翻譯,如果不存在則再進行添加進字典里面

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('請輸入對應的中文意思:')

line = '\n' + e + '-' + c

csv_file.writelines(line)

print(e + '已添加成功')

serachWord方法

serachWord這是查找功能,用戶輸入英文單詞,查詢中文意思,打開字典文件,每行掃描,提取前面的英文單詞,遍歷與用戶輸入的單詞匹配,如果不存在則提示,沒有找到這個單詞,然后給用戶提供是否需要通過百度翻譯,查看意思,并且翻譯結束后可以添加進字典中

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('字典庫中未找到這個單詞')

flag = input('是否要通過百度翻譯查看翻譯:(輸入Y/y查詢)')

if (flag == 'Y') | (flag == 'y'):

chn = baudu(word)

print('百度翻譯:' + chn)

if chn != '出錯了':

flag2 = input('是否要添加進詞典:(輸入Y/y添加)')

if (flag2 == 'Y') | (flag2 == 'y'):

line = '\n' + word + '-' + chn

csv_file.writelines(line)

print(word + '已添加成功')

baidu方法

baidu這個方法,是通過百度翻譯官網爬蟲實現,用到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 '出錯了'

except:

return '出錯了'

實驗結果:

總結

以上是生活随笔為你收集整理的python爬虫英文单词_Python_爬虫百度英文学习词典的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。