python第三个小程序,终于学到爬虫了~~~,利用有道,爬出个在线翻译小程序~~~~~

来源:互联网 发布:衢州学院网络教学平台 编辑:程序博客网 时间:2024/05/02 02:10
#在线翻译2#
# -*- coding: utf-8 -*-
import urllib.request
import urllib.parse
import json
import time

while True:
    
    content = input("请输入需要翻译的内容(输入exit1 退出程序):")
    if content == "exit1":
        print("欢迎下次使用~~~再见!!!")
        break
    else:
        
        #通过chrome 访问有道翻译,邮件【审查元素】获得POS请求参数,利用后直接向服务器发送数据
        url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'#通过Request URL获得接口地址
        data={'from':'AUTO', 'to':'AUTO', 'i':content, 'doctype':'json', 'version':2.1,
                 'keyfrom':'fanyi.web', 'action':'FY_BY_CLICKBUTTON',
                 'typoResult':'false'
                 }  #建立数据字典,通过From Data获得上传数据信息。
        url_data = urllib.parse.urlencode(data).encode('utf8')#urlunparse函数将datan内容合并成url
        req = urllib.request.Request(url, url_data)
        req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36')#给req追加头,模拟谷歌浏览器访问
        trans = urllib.request.urlopen(req) #urlopen函数用于实现对目标url的访问
        html = trans.read().decode('utf-8')# 定义读取html页面 编码格式utf-8
        target = json.loads(html) #用json格式封装,得到字段,然后截取我们想要的内容
        print("翻译的结果是:%s" % (target['translateResult'][0][0]['tgt']))
        #延时访问或者代理访问 防止被服务器端禁止访问
        time.sleep(2)#延时方法等待2秒再进入下次循环
原创粉丝点击