Python运行下面的程序报错,怎么解决(好像是网站签名校验啥的没通过。)谢谢!
能不能复制到记事本发给我看看
import tkinter
from PIL import Image,ImageTk
import os
import time
import requests as pc
import json
import hashlib
import re
import smtplib
import base64
"""
from BG_png import img as one #引入img变量,赋别名为one
tmp = open('one.png', 'wb') #创建临时的文件
tmp.write(base64.b64decode(one)) ##把这个one图片解码出来,写入文件中去。
tmp.close()
"""
window = tkinter.Tk() #创建主窗口
window.title('翻译') #设置标题
window.geometry('950x200') #设置窗口大小
"""
canvas = tkinter.Canvas(window, width=1200,height=699,bd=0, highlightthickness=0)
imgpath = 'one.png'
img = Image.open(imgpath)
photo = ImageTk.PhotoImage(img)
canvas.create_image(250, 250, image=photo)
canvas.pack()
"""
class Translate_spider(object):
def init(self,from_lan,to_lan,text):
self.from_lan=from_lan
self.to_lan=to_lan
self.text=text
sign=( hashlib.md5(("6key_cibaifanyicjbysdlove1"+self.text).encode('utf-8')).hexdigest() )[0:16]
#url='http://ifanyi.iciba.com/index.php?c=trans&m=fy&client=6&auth_user=key_ciba%27
url='http://ifanyi.iciba.com/index.php?c=trans&m=fy&client=6&auth_user=key_web_fanyi%27
self.url=url+'&sign='+sign
self.head={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0"}
self.data=self.get_data()
#Request URL: http://ifanyi.iciba.com/index.php?c=trans&m=fy&client=6&auth_user=key_web_fanyi &sign= 27554cf4754750b2
def get_data(self):
data={'from':self.from_lan,
'to':self.to_lan,
'q':self.text
}
return data
def get_data_fromurl(self):
r=pc.post(self.url,headers=self.head,data=self.data)
return r.content.decode()
def parse_data(self,js_str):
dict_data=json.loads(js_str)
print(dict_data)
result=dict_data['content']['out']
print('{}翻译后的结果为:{}'.format(self.text,result))
def run(self):
js_str=self.get_data_fromurl()
self.parse_data(js_str)
"""
if name=='main':
while True:
from_lan=eval(input("请输入翻译前的语言(1为汉语|2为英语|3为日语|4为德语|5为法语|6为自动识别) : "))
to_lan=eval(input("请输入翻译后的语言(1为汉语|2为英语|3为日语|4为德语|5为法语|6为自动识别) : "))
set_from_lan=['zh','en','ja','de','fr','auto'][from_lan-1]
set_to_lan=['zh','en','ja','de','fr','auto'][to_lan-1]
text=input("请输入翻译内容 :")
spider=Translate_spider(set_from_lan,set_to_lan,text)
spider.run()
"""
def Fy(yuan,yi,nr):
#while True:
from_lan=yuan
to_lan=yi
set_from_lan=['zh','en','ja','de','fr','auto'][from_lan-1]
set_to_lan=['zh','en','ja','de','fr','auto'][to_lan-1]
text=nr
spider=Translate_spider(set_from_lan,set_to_lan,text)
spider.run()
l1=tkinter.Label(window,text="翻译软件") #标签
l1.pack() #指定包管理器放置组件
label1 = tkinter.Label(window,
text="以下文本框依次输入:翻译前、后的语言以及翻译内容 [前、后语言选项:1为汉语|2为英语|3为日语|4为德语|5为法语|6为自动识别]",
bg='white', #控件背景颜色
fg='black', #组件字体颜色
font=('黑体', 10), #设置字体字号
justify='center', #显示多行文本的时候,设置不同行之间的对齐方式(left, right, center)
height=1, #设置控件高度
width=380, #设置控件宽度
anchor='center', #瞄点, 控制文本的位置, 默认居中(可选: n北, e东, s南, w西, center居中, ne se, sw, nw)
)
label1.pack(pady=5) #显示出来
p1=tkinter.Entry()
p1.pack()
p2=tkinter.Entry()
p2.pack()
p3=tkinter.Entry()
p3.pack()
def getFY():
user1=p1.get()
user2=p2.get()
user3=p3.get()
print (user1,user2,user3)
Fy(eval(user1),eval(user2),user3)
a=tkinter.Button(window,text="进行翻译",command=getFY)
a.pack(pady=15) #command绑定获取文本框内容方法
window.mainloop() #进入消息循环
#这个放在代码最后,如果放在前面,会马上删除图片,导致程序不能正常运行
#os.remove('one.png') #用完可以删除这个临时图片
"""
canvas.create_window(250, 110, width=200, height=20,
window=l1)
"""