zoukankan      html  css  js  c++  java
  • 有道翻译爬虫

    # 有道翻译爬虫
    
    **今日目标**
    
    有道翻译能够随意输入内容并进行翻译
    ```python
    import requests
    import time
    import random
    from hashlib import md5
    
    # 获取salt sign ts
    def get_salt_sign_ts(word):
        # ts
        ts = str(int(time.time() * 1000))
        # salt
        salt = ts + str(random.randint(0, 9))
        # sign
        string = "fanyideskweb" + word + salt + \
                                   "n%A-rKaT5fb[Gy?;N5@Tj"
        s = md5()
        s.update(string.encode())
        sign = s.hexdigest()
    
        return salt,ts,sign
    
    # 破解有道翻译
    def attack_yd(word):
        salt,ts,sign = get_salt_sign_ts(word)
        # url地址为: F12->Headers->General->Request URL
        url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
        # 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": "238",
            "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
            "Cookie": "OUTFOX_SEARCH_USER_ID=-1449945727@10.169.0.82; OUTFOX_SEARCH_USER_ID_NCOO=1492587933.976261; JSESSIONID=aaa5_Lj5jzfQZ_IPPuaSw; ___rl__test__cookies=1559193524685",
            "Host": "fanyi.youdao.com",
            "Origin": "http://fanyi.youdao.com",
            "Referer": "http://fanyi.youdao.com/",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
            "X-Requested-With": "XMLHttpRequest",
        }
        # data: FormData为字典
        data = {
            "i": word,
            "from": "AUTO",
            "to": "AUTO",
            "smartresult": "dict",
            "client": "fanyideskweb",
            "salt": salt,
            "sign": sign,
            "ts": ts,
            "bv": "f4d62a2579ebb44874d7ef93ba47e822",
            "doctype": "json",
            "version": "2.1",
            "keyfrom": "fanyi.web",
            "action": "FY_BY_REALTlME",
        }
    
        proxies = {
            'http': 'http://475199896:2gadbghh@223.111.182.70:16818',
            'https': 'http://475199896:2gadbghh@223.111.182.70:16818',
        }
    
        html_json = requests.post(
            url = url,
            data = data,
            headers = headers,
            proxies=proxies
        ).json()
        # html_json:
        # 'translateResult': [[{'tgt': '你好', 'src': 'hello'}]]
        result = html_json['translateResult'][0][0]['tgt']
    
        return result
    
    if __name__ == '__main__':
        word = input('请输入要翻译的单词:')
        result = attack_yd(word)
        print(result)
    
    ```
  • 相关阅读:
    PHP获取当前页面完整url地址,包括参数的函数
    研究在SAE上搭建最新wordpress
    CentOS6.5 编译安装lnmp环境
    cried me a river--kristinia debarge
    Bad Day -- Daniel Powter
    Back to December -- Taylor Swift
    英语单词的偏旁部首之常见前缀(一)
    21 Guns -- Green Day
    影子
    BNUOJ 1037 精神控制
  • 原文地址:https://www.cnblogs.com/cxiaolong/p/11241305.html
Copyright © 2011-2022 走看看