• 有道选择语言性翻译


    """
    有道反扒一直再改变,加深。浪费我一段时间;;;
    通过查找,能找到js代码中的操作代码
    1.这是计算salt的公式,在fanyi.min.js文件中找到的,
    t = "" + ((new Date).getTime() + parseInt(10 * Math.random(), 10));
    2.n.md5("fanyideskweb" + e + i + "@6f#X3=cCuncYssPsuRUE")
    md5一共需要四个参数,第一个和第四个都是固定的字符串,第三个是所谓的salt。第二个就是输入的要查找的单词
    """
    def getSalt():
        """
        这是计算salt的公式  "" + ((new Date).getTime() + parseInt(10 * Math.random(), 10));
        把它翻译成Python代码
        :return:
        """
        import time,random
        # (new Date).getTime()生成的时间戳与time.time()的单位不一致,所以需要乘1000
        salt = str(int(time.time()*1000)) + str(random.randint(0,10))
        ts = int(time.time()*1000)
        return salt,ts
    
    def getMd5(v):
        import hashlib
        md5 = hashlib.md5()
        # 需要一个bytes格式的参数
        md5.update(v.encode("utf-8"))
        sign = md5.hexdigest()
        return sign
    
    def getSign(key, salt):
        sign = "fanyideskweb" + key + str(salt[0]) + "@6f#X3=cCuncYssPsuRUE"
        bv = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'
        sign = getMd5(sign)
        bv = getMd5(bv)
        return sign,bv
    
    from urllib import request,parse
    
    def youdao(key):
        url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule "
        salt = getSalt()
        data = {
            "i": key,
            "from": "id",
            "to": "zh-CHS",
            "smartresult": "dict",
            "client": "fanyideskweb",
            "salt": str(salt[0]),
            "sign": getSign(key, salt)[0],
            "ts": str(salt[1]),
            "bv": getSign(key, salt)[1],
            "doctype": "json",
            "version": "2.1",
            "keyfrom": "fanyi.web",
            "action": "FY_BY_REALTlME"
        }
        # 参数data需要是bytes格式
        data = parse.urlencode(data).encode('utf-8')
        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=-179075867@117.159.15.221; P_INFO=l542684416@163.com|1550109535|0|other|00&99|hen&1550053607&urs#hen&410000#10#0#0|&0|urs|l542684416@163.com; JSESSIONID=aaah-7I2JcBp9d3hhczUw; OUTFOX_SEARCH_USER_ID_NCOO=925083748.2690873; ___rl__test__cookies=1561650099798",
            "Host": "fanyi.youdao.com",
            "Origin":"http://fanyi.youdao.com",
            "Referer":"http://fanyi.youdao.com/",
            "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
            "X-Requested-With": "XMLHttpRequest"
        }
        #添加一个IP池
        px = request.ProxyHandler({'https':'112.87.65.117:9999'})
        opener = request.build_opener(px)
        req = request.Request(url=url, data=data, headers=headers)
        res = opener.open(req)
        # rsp = request.urlopen(res)
        html = res.read().decode('utf-8')
        # print(html)
        html = eval(html)
        su = html["translateResult"][0][0]['tgt']
        return su
    
    #
    # youdao(' Keuangan AJB Bumiputera negatif Rp 20 triliun, ini klarifikasi OJK ')
    

      

  • 相关阅读:
    Groovy新手教程
    cocos2d-x v3.2 FlappyBird 各个类对象详细代码分析(6)
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
    病毒木马查杀第002篇:熊猫烧香之手动查杀
    Activity具体解释(生命周期、以各种方式启动Activity、状态保存,全然退出等)
    白话经典算法系列之六 高速排序 高速搞定
    UVA580-Critical Mass
    FPGA 时序问题
    SVD神秘值分解
    Java中Integer类的方法
  • 原文地址:https://www.cnblogs.com/542684416-qq/p/11193437.html
Copyright © 2020-2023  润新知