python爬虫+有道翻译

Python爬虫+有道翻译

废话不多说,直接上步骤:

1.浏览器搜索进入有道翻译界面,接着【F12】或鼠标右键【检查】。

2.选择network,此时下面的调试框内还没有任何东西。这时,在上方翻译框中输入翻译文字。点击翻译,这时,调试框中会出现一个translate.....的文件。如下图:

3.点击打开文件,会发现出现一堆数据,如下图:


在图中标注的2中,里面是翻译返回的json结果数据,我们只需要解析json,查找结果位置,就可以输出翻译结果了,如下图:


4.过程都说完了,还是比较简单的,下面就要直接上代码


import requests
import json


#1.获取post的url,及数据
#下面的链接不知道什么原因会出错,改成下下面一个链接就行了
#post_url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"--》不能用
while True:
    post_url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
    string = input("请输入要翻译的中英文词组(【:w】退出):")
    if string != ':w':
        post_tran = {
            # 定义变量,接收手动传输的语句进行翻译
            "i": string,
            "from": "AUTO",
            "to": "AUTO",
            "smartresult": "dict",
            "client": "fanyideskweb",
            "salt": "1530285791270",
            "sign": "4f32f0fbfbc18150879032eb2b11cb4f",
            "doctype": "json",
            "version": "2.1",
            "keyfrom": "fanyi.web",
            "action": "FY_BY_CLICKBUTTION",
            "typoResult": "false"
        }
        # 添加浏览器请求头,伪装成浏览器
        headers = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"}
        #2.发送请求,获取响应
        r = requests.post(post_url,headers=headers,data=post_tran)
        json_str = r.content.decode()
        #3.json.loads()将json字符串转换成字典,提取数据,打印
        dict_response = json.loads(json_str)

        result = dict_response["translateResult"][0][0]["tgt"]

        print('翻译结果是:{}'.format(result))
    else:
        print("退出成功!下次见...")
        break
第一次写文章,比较简陋,爬虫我也没有多精通,如果发现哪有错误,请见谅!另外,一定要学会自己查资料,不管是理论,还是别人的代码,要多动手。

猜你喜欢

转载自blog.csdn.net/fdk1997/article/details/80863096