python自製英漢詞典

2021-09-17 22:12:09 字數 2770 閱讀 6145

作為一位python小白,無意間發現在jclian91發布的部落格中做了個爬取有道詞典的翻譯爬蟲,本著學習的態度,借鑑大佬的**,自己也擼了串**,完成了自己的第乙個爬蟲**,新增了gui介面,新增了從漢翻英的功能。

**中用到的第三方庫自行通過pip install安裝

**如下:

#! python3

# -*- coding: utf-8 -*-

# author:fan liu

import requests

from bs4 import beautifulsoup

from fake_useragent import useragent

import re

import wx

class myframe(wx.frame):

def __init__(self,parent,id):

wx.frame.__init__(self,parent,id,title='translate',size=(410,335))

bkg=wx.panel(self)

self.btn1=wx.button(bkg,label='中文翻譯')

self.btn1.bind(wx.evt_button,self.ch_trans)

self.btn3=wx.button(bkg,label='英文翻譯')

self.btn3.bind(wx.evt_button,self.eng_trans)

self.btn2=wx.button(bkg,label='清除')

self.btn2.bind(wx.evt_button,self.clear)

self.word=wx.textctrl(bkg)

self.contents=wx.textctrl(bkg,style=wx.te_multiline|wx.hscroll)

self.hbox=wx.boxsizer()

self.hbox.add(self.word,proportion=1,flag=wx.expand)

self.hbox.add(self.btn1,proportion=0,flag=wx.left,border=5)

self.hbox.add(self.btn3,proportion=0,flag=wx.left,border=5)

self.hbox.add(self.btn2,proportion=0,flag=wx.left,border=5)

self.vbox=wx.boxsizer(wx.vertical)

self.vbox.add(self.hbox,proportion=0,flag=wx.expand | wx.all,border=5)

self.vbox.add(self.contents,proportion=1,

flag=wx.expand | wx.left | wx.right | wx.bottom,border=5)

bkg.setsizer(self.vbox)

def ch_trans(self,event):

word=self.word.getvalue()

ua=useragent()

headers=

try:

string=''

string1=''

r=requests.get(url=''%word,headers=headers)

soup=beautifulsoup(r.text,'lxml')

s=soup.find(class_="trans-container")('ul')[0]('p')

for item in s:

if item.text:

string=str(item.text)

li=re.split('[\n]+',string)

for i in li:

string1+=i

string1+='\n'

self.contents.setvalue(string1)

except exception:

self.contents.setvalue('something goes wrong!')

def eng_trans(self,event):

word=self.word.getvalue()

ua=useragent()

headers=

try:

r=requests.get(url=''%word,headers=headers)

soup=beautifulsoup(r.text,'lxml')

s=soup.find(class_="trans-container")('ul')[0]('li')

string=''

for item in s:

if item.text:

string+=str(item.text)+'\n'

self.contents.setvalue(string)

except exception:

self.contents.setvalue('something goes wrong!')

def clear(self,event):

self.word.setvalue('')

self.contents.setvalue('')

if __name__=='__main__':

frame=myframe(none,-1)

frame.show()

知識詞典 英漢詞典

知識詞典 英漢詞典 英語 漢語詞典 題名解釋 self synchronization 自同步 自動同步 eye ball 眼球inside forward 內鋒su ce wash 船舶運動波浪 表土 in vivo counting 體內計數 speakerphone 喇叭擴音器 interim...

英漢詞典(C語言)

1 include txt 文件見檔案末 2 include 3 include 4 include 5 define n 1000 6 typedef struct word 7 word 11void search word s,int num,char d 查詢12 void revise w...

Ubuntu 12 04安裝英漢詞典

1.在ubuntu軟體中心搜尋stardict安裝辭典 也可以搜尋星際譯王 2.在應用程式下的附件可以找到安裝的stardict 接著sudo mv stardict oxford gb 2.4.2 usr share stardict dic 將解壓後的資料夾移動到 usr share stard...