PCC频点配置 ADD PCCFREQCFG: PccDlEarfcn=1300,Preferred
作者:互联网
项目目的
目的三:打造一个专属于自己的翻译器。
结果:使用中文(变量名及函数名的应用)编程验证并实现预定目标。
中-英翻译:
目的一:验证Python中文编程的可行性。
目的三:打造一个专属于自己的翻译器。
项目结果
核心思想:爬虫技术获取在线翻译结果。
结果:使用中文(变量名及函数名的应用)编程验证并实现预定目标。
中-英翻译:
英-中翻译:
小日本-中翻译:
棒子-中翻译:
可支持中英互译;日、韩、法、德、俄等支持翻译成中文。
可翻译段落或者文章:
项目代码
该工具不提供下载地址,直接上源代码,感兴趣的小伙伴可自行研究:
import requests,json
import time,random
import hashlib
import wx
import win32con,win32api
#--------------------------------md5加密---------------------------------
def 加密(要加密的数据):
加密后的值 = hashlib.md5(要加密的数据.encode())
return 加密后的值.hexdigest()
#----------------------------单击事件调用函数----------------------------
def ck(fram):
if fram.m_textCtrl1.GetValue() == '':
win32api.MessageBox(0, "请输入要翻译的内容", "没有要翻译的内容",win32con.MB_ICONWARNING)
else:
fram.pr.SetValue(在线翻译(fram.m_textCtrl1.GetValue()))
#---------------------------------在线翻译-------------------------------
def 在线翻译(要翻译的内容):
翻译链接 = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
时间戳 = str(int(time.time()*1000))
随机数 = str(random.randint(0,9))
salt = 时间戳 + 随机数
sign = 加密('fanyideskweb' + 要翻译的内容 + salt + 'n%A-rKaT5fb[Gy?;N5@Tj')
表单 = {
"i":要翻译的内容
,"from":"AUTO"
,"to":"AUTO"
,"smartresult":"dict"
,"client":"fanyideskweb"
,"salt":salt
,"sign":sign
,"ts":时间戳
,"bv":"e2a78ed30c66e16a857c5b6486a1d326"
,"doctype":"json"
,"version":"2.1"
,"keyfrom":"fanyi.web"
,"action":"FY_BY_CLICKBUTTION"
}
请求头 = {
'Host':'fanyi.youdao.com'
,'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0'
,'Accept': 'application/json, text/javascript, */*; q=0.01'
,'Accept-Language':'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2'
,'Accept-Encoding':'gzip, deflate'
,'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'
,'X-Requested-With':'XMLHttpRequest'
,'Content-Length':'255'
,'Origin':'http://fanyi.youdao.com'
,'Connection':'keep-alive'
,'Referer':'http://fanyi.youdao.com/'
,'Cookie':'YOUDAO_MOBILE_ACCESS_TYPE=1; OUTFOX_SEARCH_USER_ID=558110273@10.108.160.19; JSESSIONID=aaamhmHtcXNGSajBuz95w; ___rl__test__cookies=1574061887541; OUTFOX_SEARCH_USER_ID_NCOO=84762635.26386356'
}
try:
响应值 = requests.post(翻译链接,data = 表单,headers = 请求头)
except:
win32api.MessageBox(0, "翻译超时,请检查网络连接", "翻译超时",win32con.MB_ICONWARNING)
响应值汇总 = ''
响应值处理 = json.loads(响应值.text)
try:
for i in range(1,len(响应值处理['smartResult']['entries'])):
响应值汇总 = 响应值汇总 + 响应值处理['smartResult']['entries'][i]
except:
return 响应值处理['translateResult'][0][0]['tgt']
return 响应值汇总
###########################################################################
##在线翻译图形界面
###########################################################################
class MyFrame1 ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"在线翻译", pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.CAPTION|wx.CLOSE_BOX|wx.SYSTEM_MENU|wx.TAB_TRAVERSAL )
#self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
bSizer1 = wx.BoxSizer( wx.VERTICAL )
bSizer2 = wx.BoxSizer( wx.HORIZONTAL )
self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"要翻译的内容:", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText1.Wrap( -1 )
self.m_staticText1.SetFont( wx.Font( 9, 74, 90, 92, False, "微软雅黑" ) )
self.m_staticText1.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BACKGROUND ) )
bSizer2.Add( self.m_staticText1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
self.m_textCtrl1 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 260,35 ), 0 )
bSizer2.Add( self.m_textCtrl1, 0, wx.ALIGN_CENTER|wx.ALL, 5 )
self.m_button1 = wx.Button( self, wx.ID_ANY, u"在线翻译", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer2.Add( self.m_button1, 0, wx.ALIGN_CENTER|wx.ALL, 5 )
bSizer1.Add( bSizer2, 4, wx.EXPAND, 5 )
bSizer4 = wx.BoxSizer( wx.VERTICAL )
self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"在线翻译结果:", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText3.Wrap( -1 )
self.m_staticText3.SetFont( wx.Font( 9, 74, 90, 92, False, "微软雅黑" ) )
bSizer4.Add( self.m_staticText3, 0, wx.ALL, 5 )
self.pr = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 500,400 ), wx.TE_MULTILINE )
bSizer4.Add( self.pr, 0, wx.ALL, 5 )
bSizer1.Add( bSizer4, 6, wx.EXPAND, 5 )
self.SetSizer( bSizer1 )
self.Layout()
self.Centre( wx.BOTH )
# 按钮绑定事件函数
self.m_button1.Bind( wx.EVT_BUTTON, self.translation )
def __del__( self ):
pass
# 单击事件调用函数
def translation( self, event ):
event.Skip()
ck(self)
#-----------------------程序入口------------------------
if __name__ == '__main__':
app = wx.App(False)
frame = MyFrame1(parent=None)
frame.Show()
app.MainLoop()
标签:PCCFREQCFG,__,翻译,1300,响应值,频点,self,在线翻译,wx 来源: https://blog.51cto.com/15069490/2578646