python爬虫-有道翻译的实现

  • 内容
  • 相关

python爬虫-有道翻译的实现


import json
import requests


class YoudaoFanyi():
    def __init__(self, query_string):
        self.url = "http://fanyi.youdao.com/translate"
        self.query_string = query_string
        self.headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}

    # 构造data参数
    def post_data(self):
        data = {
            'i':self.query_string,
            'doctype': 'json'
        }
        return data

    # 发送请求,获取响应
    def parse_url(self, url, data):
        # 第一种请求方式
        # data = parse.urlencode(data).encode('utf-8')
        # response = request.urlopen(url, data)
        # return response.read().decode('utf-8')

        # 第二种请求方式
        response = requests.post(url, data=data)
        return response.content.decode()

    # 提取数据
    def json_load_dict(self, json_str):
        json_dict = json.loads(json_str)
        # print(json_dict)
        ret = json_dict['translateResult'][0][0]['tgt']
        print('{} : {}'.format(self.query_string, ret))

    def run(self):
        # 构造data参数
        data = self.post_data()

        # 发送请求,获取响应
        json_str = self.parse_url(self.url, data)

        # 提取数据
        self.json_load_dict(json_str)

if __name__ == '__main__':
    while True:
        query_string = input("""请输入您要翻译的内容 [ 输入'exit'退出 ] :  """)
        if query_string == 'exit':
            print('>>>>>>>> 您已成功退出有道翻译 <<<<<<<<<')
            break
        else:
            fanyi = YoudaoFanyi(query_string)
            fanyi.run()


您阅读这篇文章共花了:  

本文标签:

版权声明:转载请带上版权原创为《星城

解压密码:若设有密码均为:www.xcooo.cn

收录状态:百度已收录点击查看详情

python爬虫-有道翻译的实现

发表评论

您可以选择匿名评论,保护个人隐私 !