jtyoui.language.Translates 源代码

#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
# @Time  : 2019/4/29 14:58
# @Author: Jtyoui@qq.com
from urllib.parse import quote
import requests
from jtyoui.web import header
from html.parser import HTMLParser
from jtyoui.data import Languages

# 请求头数据
# https://dict.hjenglish.com/ 更新请求头cookie
_headers = header("""cookie: HJ_CST=1; HJ_CSST_3=1; HJ_SID=58dfee85-f85c-a234-f219-b79dcb7e1e9d; _REF=https://www.baidu.com/link?url%3D1PPFhXl2aDlh33a6R3XE_eUsUW7banuolBKo19dvNXD8eQK8Qf1vvpCORFg1ShyF&wd%3D&eqid%3D812dd4340002b121000000065cc69469; _REG=www.baidu.com|; HJ_SSID_3=ea24368a-e9e2-9b58-9b38-8a90fb70cbae; _SREF_3=https://www.baidu.com/link?url%3D1PPFhXl2aDlh33a6R3XE_eUsUW7banuolBKo19dvNXD8eQK8Qf1vvpCORFg1ShyF&wd%3D&eqid%3D812dd4340002b121000000065cc69469; _SREG_3=www.baidu.com|; HJ_UID=18a93035-bcf4-49bd-a944-1d64e9099ce5; TRACKSITEMAP=3%2C
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36""")


class _Html(HTMLParser):

    def __init__(self):
        HTMLParser.__init__(self)
        self._flag = False
        self.string = ''

    def handle_starttag(self, tag, attrs):
        if tag == 'div' and 'simple' in attrs[0]:
            self._flag = True

    def handle_endtag(self, tag):
        if tag == 'div':
            self._flag = False

    def handle_data(self, data):
        if self._flag:
            self.string += data


[文档]def translate_to_chinese(name, languages, headers=_headers): """将一种语言翻译成中文 :param name: 单词 :param languages: 语言、及包含:from jtyoui.data import Languages :param headers: 请求头。更新方法:https://dict.hjenglish.com/ :return: 中文 """ names = quote(name) if isinstance(languages, Languages): languages = languages.value if languages == '英语': url = f'https://dict.hjenglish.com/w/{names}' elif languages == '日语': url = f'https://dict.hjenglish.com/jp/jc/{names}' elif languages == '韩语': url = f'https://dict.hjenglish.com/kr/{names}' elif languages == '法语': url = f'https://dict.hjenglish.com/fr/{names}' elif languages == '德语': url = f'https://dict.hjenglish.com/de/{names}' elif languages == '西班牙语': url = f'https://dict.hjenglish.com/es/{names}' else: return '' s = requests.get(url, headers=headers) date = s.text jp = _Html() jp.feed(date) jp.close() s = jp.string s = s.replace('\n', '').replace(' ', '') if '】' in s: index = s.find('】') s = s[index + 1:] return s
if __name__ == '__main__': print(translate_to_chinese('good', Languages.English)) # 英语 print(translate_to_chinese('アベンジャーズ', Languages.Japanese)) # 日语 print(translate_to_chinese('안녕하세요', Languages.Korean)) # 韩语 print(translate_to_chinese('Bonjour', Languages.French)) # 法语 print(translate_to_chinese('Hallo', Languages.German)) # 德语 print(translate_to_chinese('Amor', Languages.Spanish)) # 西班牙语