yeekit翻译


import json
import time

import requests
from lxml import etree


class YeeKit:

    def __init__(self):
        self.headers = {
            'Content-Type': 'application/json; charset=UTF-8',
        }

    def get_dom(self):
        _ = self
        url = 'http://fanyi.yeekit.com/'
        res = requests.get(url).cookies
        print(res)

    def get_js(self):
        """
        获取参数加密的js
        :return:
        """
        _ = self
        # 翻译界面所需的js函数
        # function TRANSLATERUN(text, befo, afte, source){...} 是发送翻译请求的(可以看出获取得参数)
        url = 'http://fanyi.yeekit.com/js/data.js'
        # 调用翻译接口的js函数 (由下面可以看出source是固定的9001)
        # TRANSLATERUN(translateBeforVal, languageSelected1.attr('value') == 'auto'?'nen':languageSelected1.attr('value'),
        #                         languageSelected2.attr('value'),
        #                         9001)
        url = 'http://fanyi.yeekit.com/js/translateLanguages.js'

    def getLanguageList(self):
        """
        获取所有语言
        :return: 返回语言列表
        """
        _ = self
        url = 'http://fanyi.yeekit.com/zyyt/translate/getLanguageList'
        data = {"lang": "Hm_lvt_6c0210311d402767e85f5693f2013faf=1634037306; lang=cn"}
        res = requests.post(url, headers=self.headers, data=json.dumps(data)).json()
        data = res.get('data')
        language_list = []
        for k, v in data.items():
            for i in v:
                language_list.append(i)
        return language_list

    def translate(self, keyword):
        """
        翻译
        :param keyword: 要翻译的字
        :return:
        """
        url = 'http://fanyi.yeekit.com/zyyt/translate/translate'
        data = {
            # "srcl": "nen",
            "srcl": "en",
            # "tgtl": "nzh",
            "tgtl": "zh",
            "app_source": 9001,
            "text": keyword,
            "domain": "auto",
        }
        res = requests.post(url, headers=self.headers, data=json.dumps(data)).json()
        data = res.get('data')
        print(data)


if __name__ == '__main__':
    keyword = 'NOMINATIONS SENT TO THE SENATE'
    # YeeKit().get_dom()
    # language_list = YeeKit().getLanguageList()
    # for i in language_list:
    #     print(i)
    YeeKit().translate(keyword)