python_制作活字典

#coding utf-8
#默俊

from urllib import request,parse
import json,time,random
import hashlib
#生成signneir
def getmd5(value):
    md5=hashlib.md5()
    md5.update(bytes(value,encoding='utf-8'))
    sign=md5.hexdigest()
    return sign

def youdaofanyi(key):
    #基础路由
    base_url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
    # 生成salt内容
    salt = int(time.time() * 10000) + random.randint(0, 10)
    #调用sign
    sign="fanyideskweb" + key + str(salt) + "p09@Bn{h02_BIEe]$P^nG"
    sign = getmd5(sign)
    #2.data字典内容
    data = {
        'i': key,
        'from': 'AUTO',
        'to': 'AUTO',
        'smartresult': 'dict',
        'client': 'fanyideskweb',
        'salt': salt,
        'sign': sign,
        'ts': '1545289644221',
        'bv': '6f014bd66917f921835d1d6ae8073eb1',
        'doctype': 'json',
        'version': '2.1',
        'keyfrom': 'fanyi.web',
        'action': 'FY_BY_REALTIME',
        'typoResult': 'false',
    }
    #3.data转码
    data = parse.urlencode(data)
    #4.headers
    headers={
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        # Accept-Encoding: gzip, deflate
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Connection': 'keep-alive',
        'Content-Length': len(data),
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Cookie': 'OUTFOX_SEARCH_USER_ID=-101979377@10.169.0.84; JSESSIONID=aaaTtMuQpN2_RgbKVBkFw; OUTFOX_SEARCH_USER_ID_NCOO=1839595531.9737163; ___rl__test__cookies=1545289644218',
        'Host': 'fanyi.youdao.com',
        'Origin': 'http://fanyi.youdao.com',
        'Referer': 'http://fanyi.youdao.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 ',
        'X-Requested-With': 'XMLHttpRequest',
    }
    #5,整合资源,封装成请求request对象
    req=request.Request(base_url,data=bytes(data,encoding='utf-8'),headers=headers)
    #6.发起请求
    response=request.urlopen(req)

    #7.处理返回的数据
    # res=response.read().decode('utf-8')
    data_json=response.read().decode('utf-8')
    #8,这里的data是post请求
    data = json.loads(data_json)
    res=''
    for item in data['translateResult']:
        res+=item[0]['tgt']
    print(res)
if __name__=='__main__':
    while True:
        key = input('请输入要翻译的词:')
        youdaofanyi(key)

#百度翻译适合此方法
#调用函数
# 方法一
# if __name__=='__main__':
#     key= input("请输入需要翻译的函数:")
#     hanshu=youdaofanyi(key)
#     import json
#     new=json.load(hanshu)
#     print(new)
#     for item in new['data']:
#         #键 k 值 v
#         print(item['k'] + ':' + item['v'])


    













































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值