【网络爬虫】实现有道翻译提取

利用python 实现有道翻译提取

原料

有道翻译网页:http://fanyi.youdao.com/
具备检查元素的浏览器:基本所有浏览器都有,推荐使用谷歌Chrome
Python版本2.7以上

按照以下操作

第一步
在左侧翻译栏中,加入输入你需要翻译的内容,点击Network按自动翻译按钮,在Name栏中选中一个以translate开头的(post方式提交)
关注 Request URL
第二步
关注from data (提交的表单数据)

代码

#-*- coding:utf-8-*-
import urllib
import json
import sys


#解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128)
defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
    reload(sys)
    sys.setdefaultencoding(defaultencoding)


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

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'
data={}
data['i'] = content
data['from'] = 'zh-CHS'
data['to'] = 'en'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '1503458227455'
data['sign'] = 'a68a9d5b5868f2501eb445ded808cec4'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_CLICKBUTTION'
data['typoResult'] = 'true'
data = urllib.urlencode(data).encode('utf-8')
#print "打印数据:", data
response = urllib.urlopen(url, data)
html = response.read().decode('utf-8')
#print html
target = json.loads(html)
#print target
print ("翻译结果:%s" % (target['translateResult'][0][0]['tgt']))
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值