主方法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方法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('字典庫中未找到這個單詞')
if (flag == 'y') | (flag == 'y'):
chn = baudu(word)
if chn != '出錯了':
flag2 = input('是否要新增進詞典:(輸入y/y新增)')
if (flag2 == 'y') | (flag2 == 'y'):
line = '\n' + word + '-' + chn
csv_file.writelines(line)
print(word + '已新增成功')
baidu方法def baudu(word):
url = ''
headers =
data =
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爬蟲 百度貼吧
get請求 from urllib import request import urllib import time 第一頁 第二頁 2 1 50 第三頁 3 1 50 第四頁 4 1 50 第n頁 n 1 50 推測第一頁 headers 根據url傳送請求,獲取伺服器響應檔案 defloadpa...
python百度貼吧爬蟲
coding utf 8 coding utf 8 import urllib import urllib2 import reimport thread import time class bdtb def init self,baseurl,seelz self.baseurl baseurl ...
百度文庫爬蟲
可用的page number 0 10 20 30 根據url和type爬取檔案類容 doc和txt檔案使用不同的爬取方法 爬取的結果儲存在txt outputs search word freefromwenku main.py 程式入口 readme.md read me requirement...