Python 爬蟲百度英文學習詞典

2022-07-29 12:24:11 字數 2533 閱讀 1782

主方法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...