python爬虫_百度翻译

# coding=utf-8
import requests
import json
import sys

class BaiduFanyi:
    def __init__(self, query_string):
        self.query_string = query_string
        self.post_url = "http://fanyi.baidu.com/v2transapi"
        self.post_data = {
            "from": "zh",
            "to": "en",
            "query": query_string,
            "transtype": "translang",
            "simple_means_flag": "3"
        }
        self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36"}

    def parse_url(self):
        r = requests.post(self.post_url, data=self.post_data, headers=self.headers)
        return r.content.decode()

    def get_result(self, html_str):  # 提取数据
        # 通过json.loads方法可以将类似于python字典的数据转换为python字典
        dict_response = json.loads(html_str)
        ret = dict_response["trans_result"]["data"][0]["dst"]
        print("{}的翻译结果是:{}".format(self.query_string, ret))

    def run(self):
        # 1.url,post_data
        # 2.发送请求 获取响应
        html_str = self.parse_url()
        # 3.提取数据
        self.get_result(html_str)

if __name__ == '__main__':
    # 将字符串分隔开
    query_string = sys.argv[1]
    baidu_fanyi = BaiduFanyi(query_string)
    baidu_fanyi.run()

 

你可能感兴趣的:(数据采集)