当前位置: 首页 > 后端技术 > Python

想偷学Python,然后晕死大家(第14天)

时间:2023-03-26 12:00:39 Python

https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548....https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548……https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...https://xueqiu.com/5358731548...标题无意冒犯,只是觉得这个广告很有意思。喜欢上面的思维导图就拿走吧,反正我也学不了那么多文章偷偷学Python(第十三天)又一篇热文,插个推送:(新手可以看看下面这段)欢迎来到我们的圈子。我建了一个Python学习问答群,有兴趣的朋友可以看看:这是个什么群?群里已经有一千多个好友了!!!直达群传送门:传送门`本系列文章假设你有一定的C或C++基础,因为我是学了一点C++才开始接触Python的,在此也感谢齐峰前辈的支持。本系列文章默认百度。如果你想学习模块“模块”,建议你有自己的编辑器和编译器。上一篇文章已经推荐给你了?我要的不多,点击关注即可。然后,这个系列的目录,说实话,我个人比较喜欢这两款PrimerPlus,就按照他们的目录结构来吧。本系列也会重点培养自己的动手能力。毕竟我不可能把所有的知识点都告诉你,所以解决自己需求的能力就显得尤为重要,所以埋在文章里的也请不要当成坑,那才是锻炼的机会我留给你了,请发挥你的本事,自己解决。`*1*2*3*4*5*6*7对决,《偷偷学Python》系列即将进入漫长的XXX漫长的《爬虫百战》期。是的,接下来会发布很多小项目,有的会带来经济效益,有的纯粹是为了好玩。当然,我肯定不会把所有有趣的小项目都写出来,但是我会做一个扩展性很强的项目,明确接口,愿意的话自己扩展。《Python百战穿山甲》(1):我为什么要做这个翻译软件?挺好玩的,我关注了几个《爬虫大战》的栏目,先选了这个,不过大部分只能翻译一个字,我也会,无聊。在我的不懈努力下,我爬啊爬,终于爬到了破解他加密算法的大佬。事情是这样的:为什么大多数博客只提供单个单词的翻译?因为他们不能提供多词翻译,而且他们能捕捉到的词义也很有限。算了,放个图吧。感觉没有图片无法解释清楚。今天:哎,他们都用这个叫sug的不是一个完整的包。一开始在百度翻译上确实能找到这样的包,但是在有道上找不到。事实上,你应该使用这张图片中的第一个包,但那个包是加密的。在百度翻译上,要带一个cookie和两个秘钥,暂时算秘钥,因为这些东西是随着词变的,所以如果一个个抓取解包,其实是没有意义的。这时有个大佬发现了规律,于是就使出了猛操作,na:https://blog.csdn.net/nunchak...太好了,破解了。然后就是我们后面的操作了。下面这段代码是我和我们组的朋友思奇完成的,我把修改后的算法给他,他配了个UI。`importurllib.requestimportrequestsimporturllib.parseimportjsonimporttimeimportrandomimporthashlibimporttkinterfromtkinterimportttktext=""#清空输入框defqing_kong(shu_ru):shu_ru.delete(0,tkinter.END)#确认开始查询defque_ding(a,b,content,shu_chu):globaltext#content=input('请输入要翻译的内容:')#from_s=input("请输入要翻译的语言,中文请输入ZH,英文请输入EN:")#to_s=input("请输入目标语言,中文请输入ZH,英文请输入EN:")ifa=="Chinese":from_s='ZH'else:from_s='EN'ifa=="English":to_s='EN'else:to_s='ZH'#url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom=https://www.google.com/'url='http:///fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'data={}u='fanyideskweb'd=contentf=str(int(time.time()*1000)+random.randint(1,10))c='rY0D^0'nM0}g5Mm1z%1G4'sign=hashlib.md5((u+d+f+c).encode('utf-8')).hexdigest()data['i']=contentdata['from']=from_sdata['to']=to_sdata['smartresult']='dict'data['client']='fanyideskweb'data['salt']=fdata['sign']=signdata['doctype']='json'data['version']='2.1'data['keyfrom']='fanyi.web'data['action']='FY_BY_CL1CKBUTTON'data['typoResult']='true'data=urllib.parse.urlencode(data).encode('utf-8')res=requests.post(url,data=data)request=urllib.request.Request(url=url,data=data,method='POST')response=urllib.request.urlopen(request)#print(response.read().decode('utf-8'))pre_js=response.read().decode('utf-8')#pat=re.compile(r'[u4e00-u9fa5]+')#result=pat.findall(pre_js)#result='n'.join(result[5:])a=pre_js.split('[[')b=a[1].split(']]')c=b[0]j=json.loads(c)text=j['tgt']shu_chu.set(text)print(j['tgt'])#foriinresult:#print(i+'n')#print(pre_js)#主函数defjie_main():全局文本win=tkinter.Tk()win.title("Translation")win.geometry("500x400")win.resizable(0,0)shu_chu=tkinter.StringVar()shu_chu.set(text)tkinter.Label(win,text='translation',font=('Arial',12)).place(x=100,y=30,anchor='nw')tkinter.Label(win,text='翻译语言选项',font=('宋体',12)).place(x=10,y=70,anchor='nw')yu_yan1=ttk.Combobox(win,width=10)yu_yan1['value']=('Chinese','英文')yu_yan1.current(0)yu_yan1.place(x=120,y=70,anchor='nw')tkinter.Label(win,text='》》',font=('Arial',12)).place(x=220,y=70,anchor='nw')yu_yan2=ttk.Combobox(win,width=10)yu_yan2['value']=('English','Chinese')yu_yan2.current(0)yu_yan2.place(x=270,y=70,anchor='nw')tx1=tkinter.Label(win,text='原文:',font=('宋体',12))tx1.place(x=10,y=120,anchor='nw')shu_ru=tkinter.Entry(win)shu_ru.place(x=120,y=120,anchor='nw')guess=shu_ru.get()tx2=tkinter.Label(win,text='Translation:',font=('Arial',12))tx2.place(x=10,y=160,anchor='nw')tkinter.Label(win,textvariable=shu_chu,font=('Arial',12)).place(x=100,y=160,锚点='nw')bt1=tkinter.Button(win,text='清空',command=lambda:qing_kong(shu_ru))bt1.place(x=10,y=210,anchor='nw')bt2=tkinter.Button(win,text='确定',command=lambda:que_ding(yu_yan1.get(),yu_yan2.get(),shu_ru.get(),shu_chu))bt2.place(x=100,y=210,anchor='nw')win.mainloop()if__name__=='__main__':jie_main()`*1*2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17*18*19*20*21*22*23*24*25*26*27*28*29*30*31*32*33*34*35*36*37*38*39*40*41*42*43*44*45*46*47*48*49*50*51*52*53*54*55*56*57*58*59*60*61*62*63*64*65*66*67*68*69*70*71*72*73*74*75*76*77*78*79*80*81*82*83*84*85*86*87*88*89*90*91*92*93*94*95*96*97*98*99*100*101*102*103*104*105*106*107*108*109*110*111*112*113*114*115*116*117*118*119*120*121*122*123*124*125设计图好像没什么展开的,除了语言模块side应该是我们的小伙伴做得太好了。说说我的想法吧,长话短说,说不完就没时间复习了。建设者模式。场景类从语言类中获取所有的语言类,然后填充到UI类的下拉框中。场景类是开放的,算法和UI是封闭的。有点马虎,UML不开放。..对不起。有疑问可以直接问我,也可以了解什么是建造者模式