python3调用百度翻译

#话不多说上代码...效率慢的出奇QAQ
#突然发现有api,重构代码ing
from selenium import webdriver

driver = webdriver.Chrome()

import string
eng_word = list(string.ascii_lowercase)

def request_and_return(request_url):
    driver.get(request_url)
    try:
        translate = driver.find_element_by_xpath('//*[@id="main-outer"]/div/div/div/div[2]/div[1]/div[2]/div/div/div[1]/p[2]/span').text
    except Exception as e:
        print(driver.page_source)
        pass
    
    return translate

def main_function(word):
    words_list = list(word)

    if words_list[0] in eng_word:
        request_url = "http://fanyi.baidu.com/#en/zh/" + word
        translate = request_and_return(request_url)
        print(translate)
    else:
        request_url = "http://fanyi.baidu.com/#zh/en/" + word
        translate = request_and_return(request_url)
        print(translate)

while True:
    word = input("输入你想翻译的内容")
    if word == 'q':
        break
    else:
        main_function(word)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用百度翻译API提供的HTTP接口实现Python调用百度翻译的翻译接口。具体步骤如下: 1. 首先,需要在百度翻译API官网申请API Key和Secret Key,获取访问API的权限。 2. 在Python中使用requests库向API发送HTTP请求,并传入必要的参数和密钥信息。具体参数包括: - q:待翻译的文本 - from:源语言,可选,默认为auto - to:目标语言,必填 - appid:API Key - salt:随机数 - sign:签名,由app id + 待翻译文本 + salt + secret key进行MD5加密后得到 3. 解析API返回的JSON格式结果,获取翻译结果。 下面是一个简单的示例代码: ```python import requests import hashlib import random import json def translate(text, from_lang='auto', to_lang='en'): appid = 'your app id' secret_key = 'your secret key' salt = str(random.randint(32768, 65536)) sign = hashlib.md5((appid + text + salt + secret_key).encode('utf-8')).hexdigest() url = 'http://api.fanyi.baidu.com/api/trans/vip/translate' params = { 'q': text, 'from': from_lang, 'to': to_lang, 'appid': appid, 'salt': salt, 'sign': sign } response = requests.get(url, params=params) result = json.loads(response.text) return result['trans_result'][0]['dst'] ``` 在上面的代码中,我们定义了一个translate函数,它接受三个参数:待翻译的文本、源语言和目标语言。我们先计算出sign值,再将参数传入requests库的get方法中,向API发送HTTP请求。最后,我们解析API返回的JSON结果,并返回翻译结果。 注意:百度翻译API的免费使用有次数限制,如果需要更多的翻译次数,需要付费购买。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值