废话不多说,直接贴我写好的代码,程序很简单
这里有两个地方注意下做修改,一个是伪装,用真实的User-Agent,另一个是时间,让服务器感知你的请求为人类,最好是时间存在偏差,而不是固定的。
import urllib.request
import urllib.parse
import time
import random
while True:
inpt = input('请输入需要翻译的内容(输入q!退出程序): ')
if(inpt == 'q!'):
break
# 这个网址自己填写好吧,防止被和了
url = 'https://xxxxxxxxxxxxxxxxxxx'
data = {}
data['i'] = inpt
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_CLICKBUTTION'
data = urllib.parse.urlencode(data).encode('utf-8')
req = urllib.request.Request(url, data)
req.add_header(
'User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.1.6230.53 Safari/515.16')
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')
d = dict(eval(html))
print('翻译内容为: %s' % (d['translateResult'][0][0]['tgt']))
time.sleep((random.randint(1, 4)))