python 자체 번역 도구
6531 단어 python
url 주소:http://fanyi.youdao.com/ 상기 분석 을 종합 하여 내부 내용 을 바 꿀 때 Form Data (배경 으로 보 낸 데이터) 에서 salt, sign, ts 의 값 이 변화 하고 다른 몇 가 지 는 변화 가 없다.
2. 요청 한 JS 찾기
링크 주소:http://shared.ydstatic.com/fanyi/newweb/v1.0.14/scripts/newweb/fanyi.min.js
3. JS 에서 관련 내용 분석
4. 구조 양식 데이터 정보
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import requests,time,hashlib,random
def translate(text):
'''
:sign: n.md5("fanyideskweb" + e + i + "p09@Bn{h02_BIEe]$P^nG")
e:
i:
'''
e = text
i = int(time.time() * 1000) + random.randint(1, 10) # salt
r,y = divmod(i,10) # salt ts, r
#
sign = "fanyideskweb" + e + str(i) + "p09@Bn{h02_BIEe]$P^nG"
md5 = hashlib.md5()
md5.update(sign.encode('utf-8'))
data = {
"i": text,
"from": "AUTO",
"to": "AUTO",
"smartresult": "dict",
"client": "fanyideskweb",
"salt": str(i),
"sign": md5.hexdigest(),
"ts":str(r),
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web",
"action": "FY_BY_CLICKBUTTION",
"typoResult": "false"
}
url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36",
"Referer": "http://fanyi.youdao.com/",
"Cookie": "[email protected]; OUTFOX_SEARCH_USER_ID_NCOO=878094596.2005905; _ntes_nnid=6783bf0af2ef0809cfacae85efdafde4,1533193798143; JSESSIONID=aaaxTWFTX_yxR8SbjAwEw; ___rl__test__cookies=1544417009120",
}
response = requests.post(url=url, headers=headers, data=data).json()
result = response['translateResult'][0][0]['tgt']
print(result)
translate(' ')
5. tkinter 구성 요 소 를 이용 하여 시각 화 창 구축
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from tkinter import *
import requests,time,hashlib,random
def translate():
'''
:sign: n.md5("fanyideskweb" + e + i + "p09@Bn{h02_BIEe]$P^nG")
e:
i:
'''
entry1.delete(0, END)
text = entry.get()
e = text
i = int(time.time() * 1000) + random.randint(1, 10) # salt
r,y = divmod(i,10) # salt ts, r
#
sign = "fanyideskweb" + e + str(i) + "p09@Bn{h02_BIEe]$P^nG"
md5 = hashlib.md5()
md5.update(sign.encode('utf-8'))
data = {
"i": text,
"from": "AUTO",
"to": "AUTO",
"smartresult": "dict",
"client": "fanyideskweb",
"salt": str(i),
"sign": md5.hexdigest(),
"ts":str(r),
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web",
"action": "FY_BY_CLICKBUTTION",
"typoResult": "false"
}
url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36",
"Referer": "http://fanyi.youdao.com/",
"Cookie": "[email protected]; OUTFOX_SEARCH_USER_ID_NCOO=878094596.2005905; _ntes_nnid=6783bf0af2ef0809cfacae85efdafde4,1533193798143; JSESSIONID=aaaxTWFTX_yxR8SbjAwEw; ___rl__test__cookies=1544417009120",
}
response = requests.post(url=url, headers=headers, data=data).json()
result = response['translateResult'][0][0]['tgt']
rest.set(result)
def youdao_translate():
#
root = Tk()
#
root.title(" ")
# 、 x
root.geometry('390x100+500+300')
#
lable = Label(root, text=" :", font=(" "), fg="red")
lable.grid()
lablel1 = Label(root, text=" :", font=(" "), fg="green")
lablel1.grid()
global rest
rest = StringVar()
#
global entry
entry = Entry(root, font=(" ", 14))
entry.grid(row=0, column=1)
#
global entry1
entry1 = Entry(root, font=(" ", 14), textvariable=rest)
entry1.grid(row=1, column=1)
# sticky N S E W -
button = Button(root, text=" ", font=(" ", 13), command=translate)
button.grid(row=2, column=0, sticky=W,padx=10)
button1 = Button(root, text=" ", font=(" ", 13), command=root.quit)
button1.grid(row=2, column=1, sticky=E,padx=10)
# 、
root.mainloop()
if __name__ == '__main__':
youdao_translate()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.