python全球购代码_Python的第一个实用小程序--IDE下翻译

先去有道官网申请API key,很容易申请到的. 使用方法:输入要翻译的中文或者英语,打印翻译结果,输入quit,程序结束 #!/usr/bin/env python#coding:utf-8#By

Python 2.7

IDE Pycharm 5.0.3

花了一点时间,半抄半写半修改的写了第一个能用的python小程序,作用是在IDE端模拟有道词典的访问,效果如下图所示,不足之处在于,当输入的中英文字符串超过一定数量,会抛出中间代码,新手并不知道怎么处理,望知道的不吝赐教;

7110109741854bb39623af71e49ccd65.png

代码贴如下所示

# -*- coding: utf-8 -*-

# coding:gbk

import urllib2

import urllib#python2.7才需要两个urllib

import json

while True:

content = raw_input("请输入需要翻译的内容:")

url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"

data = {}

data['type'] = 'AUTO'

data['i']=content

data['doctype'] = 'json'#轻量级数据结构

data['xmlVersion'] = '1.8'

data['keyfrom'] = 'fanyi.web'

data['ue'] = 'UTF-8'

data['action'] = 'FY_BY_ENTER'

data['typoResult'] = 'true'

data = urllib.urlencode(data).encode('utf-8')

req = urllib2.Request(url)

response = urllib2.urlopen(req, data)

html = response.read().decode('utf-8')

print(html)

target = json.loads(html)

print u"翻译的内容是:"+target['translateResult'][0][0]['tgt']

#必须先转化为Unicode的形式,然后print直接输出会进行转换

当然,如果你想直接先转化成中文字符再输出,也简单,把最后一行代码修改如下:

t1=target['translateResult'][0][0]['tgt'].encode('utf-8')

print "翻译的内容是:"+t1

这里的data字典中的数据根据实际网页中数据为准,可能会不一样,具体操作,点击审查元素。或见小甲鱼54讲。

补充一下,Python如果操作频率太快或者网页限制机器人对此的访问,则需要修改head了,在如下代码后人的每个第一次都有点特别的意义,所以下面这个小程序我把他记录下来做个纪念。 因为要做电子海图显示方面的东西,在相关的论坛上面看到有些大牛说GDAL和PIL结

req = urllib2.Request(url)#生成对象

添加一行代码;

req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'),这样就可以伪装成人类啦

当然每个电脑的user都不一样,具体去审查元素查看。

当然也可以添加延时模块

import time#添加延时模块

在最后一行追加

time.sleep(1)#休息1秒钟再进行操作

即可限定访问时间。

1.有道的翻译 网页: www.youdao.com Fig1 Fig2   Fig3 Fig4 再次点击"自动翻译"->选中'Network'->选中'第一项',如下: Fig5 然后显示出如下内容,红框画出的部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值