有道翻译spider简易版

本文介绍了一个使用Python实现的有道翻译API爬虫,通过解析和发送POST请求,可以将输入的句子翻译成目标语言。代码详细展示了如何设置请求头、构建POST数据、发送请求并解析返回的JSON数据。
import requests
import json


class SpiderYouDao(object):

    def __init__(self, sentence):
        self.url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
        self.sentence = sentence
        self.headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}

    def get_data(self, content):
        data = {
            'i': content,
            'from': 'AUTO',
            'to': 'AUTO',
            'smartresult': 'dict',
            'client': 'fanyideskweb',
            'salt': '15438901316318',
            'sign': '2ab7f2f64515f0004f89e3104fa74322',
            'ts': '1543890131631',
            'bv': '6728b93ea32700f1d7e56b2bead018b5',
            'doctype': 'json',
            'version': '2.1',
            'keyfrom': 'fanyi.web',
            'action': 'FY_BY_CLICKBUTTION',
            'typoResult': 'false',
        }
        return data

    def parse_url(self, data):
        """发送请求,获取请求数据"""
        response = requests.post(self.url, data=data, headers=self.headers)
        res = (response.content.decode("utf-8"))

        return res

    def get_ret(self, json_str):
        sen_dict = json.loads(json_str)
        return  sen_dict['translateResult'][0][0]["tgt"]
    def run(self, content):
        # 1、获取url地址,相关参数,
        post_data = self.get_data(content)
        # 3、获取相应内容
        response = self.parse_url(post_data)
        # 提取数据
        sen = self.get_ret(response)
        print(sen)


if __name__ == '__main__':
    a = SpiderYouDao('')
    a.run("")

  

转载于:https://www.cnblogs.com/django-start/p/10110469.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值