【Rollo的Python之路】Python 爬虫系统学习 (三)

Python爬取百度翻译的类方法写法:

import requests
import json
import sys


class BaiduFanyi:
    def __init__(self,trans_str):
        self.trans_str = trans_str
        self.lang_detect_url = 'https://fanyi.baidu.com/langdetect'
        self.trans_url = 'https://fanyi.baidu.com/basetrans'
        self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"}

    def parse_url(self,url,data):
        response = requests.post(url,data=data,headers=self.headers)
        return json.loads(response.content.decode())

    def get_ret(self,dict_response):
        ret = dict_response['trans'][0]['dst']
        print('result is:',ret)
    def run(self):
        #1.获取语言类型
            #1.1 准备post的url地址,post_data
        lang_detect_data = {'query':'trans_str'}
            #1.2 发送post请求,获取响应
        lang = self.parse_url(self.lang_detect_url,lang_detect_data)['lan']
            #1.3 提取语言类型
        #2.准备post的数据
        trans_data = {'query':'trans_str','from':'zh','to':'en'} if lang == 'zh' else 
            {'query': 'trans_str', 'from': 'en', 'to': 'zh'}
        #3.发送请求,获取响应
        dict_resposne = self.parse_url(self.trans_str,trans_data)
        #4.提取翻译结果





if __name__ == '__main__':
    trans_str = sys.argv[1]
    baidu_fanyi = BaiduFanyi()
    baidu_fanyi.run()
原文地址:https://www.cnblogs.com/rollost/p/11062619.html