python练习6:对爬取的有道翻译功能进行改进

先上改进后的代码:

import urllib.request
import urllib.parse
import json


while True: # 实现连续翻译功能
    content = input('输入要翻译的内容: ')

    def trans(): # 把爬虫封装成一个函数
        url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
        data = {}

        data['i'] = content
        data['from'] = 'AUTO'
        data['to'] = 'AUTO'
        data['smartresult'] = 'dict'
        data['client'] = 'fanyideskweb'
        data['salt'] = '15938760135952'
        data['sign'] = 'af3f1c36a96655e1a13616ec4e523d9c'
        data['ts'] = '1593876013595'
        data['bv'] = 'ce1fe729a12a6b5169046dd3aac11e4c'
        data['doctype'] = 'json'
        data['version'] = '2.1'
        data['keyfrom'] = 'fanyi.web'
        data['action'] = 'FY_BY_CLICKBUTTION'
        data = urllib.parse.urlencode(data).encode('utf-8')

        response = urllib.request.urlopen(url, data)
        html = response.read().decode('utf-8')
        target = json.loads(html)['translateResult'][0][0]['tgt']
        print('翻译结果: ', target)


    while content == '': #对用户输入情况进行判断,并循环提示
        content = input('重新输入要翻译的内容: ')
            
    else: # 如果用户输入内容不为空,调用封装的爬虫方法,把翻译结果输出给用户
        trans()

新增功能有:
1,当用户输入内容为空(即不输入内容),提示用户重新输入
2,当用户重新输入内容也为空时,继续提示用户重新输入
3,实现连续翻译功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值