zoukankan      html  css  js  c++  java
  • python基础学习1-翻译程序(连接到有道翻译网)

    #!/usr/bin/env python
    # -*- coding:utf-8 -*- 爬虫程序
    import urllib.request#导入 网络连接模块
    import  urllib.parse #导入网络数据转换模块
    import json
    import time
    
    def trans(content) :
        #设置为有道翻译的翻译请求地址
        url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=dict2.index"
    
        head={}
        #设置 用户头代理为人工访问 避免机器访问被网站过滤掉
        head["User-Agent"]="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
        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_CLICKBUTTON"
        data["typoResult"]="true"
        #把添加好传送数据的字典转换成 网络数据格式
        data = urllib.parse.urlencode(data).encode('utf-8')
        #定义用于传送的request对象
        req=urllib.request.Request(url,data,head)
        #执行网络请求
        response = urllib.request.urlopen(req)
        #把接收到的翻译结果 用utf-8反编译 得到一个json格式字符串
        html = response.read().decode('utf-8')
        #print(html)
        #载入得到的json字符串
        r= json.loads(html)
        #print(r)
        #print(r["translateResult"])
        #输出其中翻译的结果字段
        print("翻译结果:%s" %r['translateResult'][0][0]["tgt"])
    
    
    while True:
        content= input("请输入需要翻译的文本!
    (退出请输入quit)
    ")
        if content != "" and content!="quit":
          trans(content)
          time.sleep(5)#设置5秒休眠 防止访问网站过快 被过滤掉
        elif content=="" :
            pass
        else:
            print("goodby!")
    
  • 相关阅读:
    注册博客园
    算法与数据结构-树-简单-二叉搜索树中的众数
    算法与数据结构-最小化舍入误差以满足目标
    算法与数据结构-设计有限阻塞队列
    分布式学习笔记2
    JS学习笔记1
    生活-上海租房经验
    分布式技术-学习笔记1
    HashMap-线程不安全的原因
    MySQL-复制
  • 原文地址:https://www.cnblogs.com/whzym111/p/5822951.html
Copyright © 2011-2022 走看看