python用有道词典翻译文本

本文介绍了一种在Python中隐藏代码的方法,并详细解释了如何修改User-Agent来避免被服务器识别为Python请求,包括通过Request的headers参数和add_header()方法进行修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import urllib.request
import urllib.parse
import json

需要对代码进行隐藏
服务器检查User-Agent来判断是否是python
所以需要修改headers中的User-Agent,有以下两种方法:

  1. 通过Request的headers的参数修改
head = {}
head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36'

list1 = input('请输入你要翻译的内容:')
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

data = {}
data['tyep'] = 'AUTO'
data['i'] = list1
data['smartresult'] = 'dict'
data['client'] =  'fanyideskweb'
data['salt'] =  '1536914428238'
data['sign'] =  'a067b3b10b892683417e05611c41d0dc'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] =  'FY_BY_CLICKBUTTION'
data['typoResult'] = 'false'

先编码再解码

data = urllib.parse.urlencode(data).encode('utf-8') 
req = urllib.request.Request(url,data,head)
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')

dic = json.loads(html)
print('翻译结果:%s'%(dic['translateResult'][0][0]['tgt']))

  1. 通过Requset的add.header()方法修改
list1 = input('请输入你要翻译的内容:')
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data = {}
data['tyep'] = 'AUTO'
data['i'] = list1

data['smartresult'] = 'dict'
data['client'] =  'fanyideskweb'
data['salt'] =  '1536914428238'
data['sign'] =  'a067b3b10b892683417e05611c41d0dc'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] =  'FY_BY_CLICKBUTTION'
data['typoResult'] = 'false'

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; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36')
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')

dic = json.loads(html)
print('翻译结果:%s'%(dic['translateResult'][0][0]['tgt']))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值