码迷,mamicode.com
首页 > 编程语言 > 详细

python网络爬虫。第一次测试-有道翻译

时间:2018-03-08 00:10:00      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:amp   技术分享   web   tco   charm   打印   解码   数据   you   

2018-03-0720:53:56

成功的效果如下


 

技术分享图片

技术分享图片

 

 

代码备份

# -*- coding: UTF-8 -*-
from urllib import request
from urllib import parse
import json

if __name__ == "__main__":
    #对应上图的Request URL
    Request_URL = http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc
    #创建Form_Data字典,存储上图的Form Data
    Form_Data = {}
    Form_Data[i] = hello
    Form_Data[from] = AUTO
    Form_Data[to] = AUTO
    Form_Data[smartresult] = dict
    Form_Data[client] = fanyideskweb
    Form_Data[salt] = 1520425271933
    Form_Data[sign] = ba35f5fdee5f0658938245b5f216d897
    Form_Data[doctype] = "json"
    Form_Data[version] = 2.1
    Form_Data[keyfrom] = fanyi.web
    Form_Data[action] = FY_BY_REALTIME
    Form_Data[typoResult] = false
    #使用urlencode方法转换标准格式
    data = parse.urlencode(Form_Data).encode(utf-8)
    #传递Request对象和转换完格式的数据
    response = request.urlopen(Request_URL,data)
    print(response.getcode())
    #读取信息并解码
    html = response.read().decode(utf-8)
    #使用JSON
    translate_results = json.loads(html)
    #找到翻译结果
    translate_results = translate_results["translateResult"][0][0][tgt]
    #打印翻译信息
    print(html)
    print("翻译的结果是:%s" % translate_results)

效果还是可以的,毕竟这是自己的第一次调试。

 代码更新

加入json数据解析的方法

# -*- coding: UTF-8 -*-
from urllib import request
from urllib import parse
import json

if __name__ == "__main__":
    #对应上图的Request URL
    Request_URL = http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc
    #创建Form_Data字典,存储上图的Form Data
    Form_Data = {}
    Form_Data[i] = 我曾经有一个梦想
    Form_Data[from] = AUTO
    Form_Data[to] = AUTO
    Form_Data[smartresult] = dict
    Form_Data[client] = fanyideskweb
    Form_Data[salt] = 1520425271933
    Form_Data[sign] = ba35f5fdee5f0658938245b5f216d897
    Form_Data[doctype] = "json"
    Form_Data[version] = 2.1
    Form_Data[keyfrom] = fanyi.web
    Form_Data[action] = FY_BY_REALTIME
    Form_Data[typoResult] = false
    #使用urlencode方法转换标准格式
    data = parse.urlencode(Form_Data).encode(utf-8)
    #传递Request对象和转换完格式的数据
    response = request.urlopen(Request_URL,data)
    #读取信息并解码
    html = response.read().decode(utf-8)
    #使用JSON
    translate_results = json.loads(html)
    print("输出json数据为: %s" % translate_results)
    # 找到可用的key
    print("可用的key为:%s" %translate_results.keys())
    #找到翻译结果
    test = translate_results["type"]
    your_input = translate_results["translateResult"][0][0][src]
    translate_results = translate_results["translateResult"][0][0][tgt]

    #打印翻译信息

    print("测试输出 %s" %test)
    print("待翻译的内容为:%s" % your_input)
    print("翻译的结果是:%s" % translate_results)

 输出结果为

C:\Users\Administrator\PycharmProjects\python_test1\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/python_test1/123.py
输出json数据为: {type: ZH_CN2EN, errorCode: 0, elapsedTime: 1, translateResult: [[{src: 我曾经有一个梦想, tgt: I had a dream}]]}
可用的key为:dict_keys([type, errorCode, elapsedTime, translateResult])
测试输出 ZH_CN2EN
待翻译的内容为:我曾经有一个梦想
翻译的结果是:I had a dream

Process finished with exit code 0

 

python网络爬虫。第一次测试-有道翻译

标签:amp   技术分享   web   tco   charm   打印   解码   数据   you   

原文地址:https://www.cnblogs.com/pengwenzheng/p/8525305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!