打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python控制台英汉
  1. # coding=utf-8  
  2. # Filename: trans.py  
  3. # Author: qianghaohao(CodeNutter)  
  4. # Email: codenutter@foxmail.com  
  5. # Program: 控制台电子词典  
  6. #  
  7. import os  
  8. import sys  
  9. import requests  
  10. import random  
  11. import json  
  12. # import chardet   # 第三方模块检查字符串编码,用于调试  
  13. from requests.exceptions import ConnectionError, Timeout  
  14. # os.system('set PYTHONIOENCODING=UTF-8')  
  15. def GetHelp():  
  16.     U''''' 
  17.     GNU trans 1.0 
  18.                By  qianghaohao(CodeNutter) 
  19.     Usage: trans [OPTION]  [statements] 
  20.         --version    版本信息 
  21.         --help       使用帮助 
  22.     Example: trans campus 
  23.              trans  --version 
  24.              trans  --help 
  25.     '''  
  26.     pass  
  27.   
  28. if (len(sys.argv) < 2):  
  29.     print ''''' 
  30.           trans: missing OPTION 
  31.           Usage: trans [OPTION] [statements] 
  32.           Try 'trans --help' for more details! 
  33.           '''  
  34.     sys.exit(1)  
  35. if sys.argv[1].startswith('--'):  
  36.     option = sys.argv[1][2:]  
  37.     if option == 'version':  
  38.         print 'trans: Version 1.0'  
  39.     elif option == 'help':  
  40.         print GetHelp.__doc__  
  41.     else:  
  42.         print ''''' 
  43.               Unknown option! 
  44.               Try 'trans --help' for more options! 
  45.               '''  
  46.         sys.exit(2)  
  47. else:  
  48.     to_be_trans = ' '.join(sys.argv[1:]).decode('GB2312').encode('utf-8')  
  49.   
  50.     # print chardet.detect(to_be_trans)  # 第三方模块检查字符串编码,用于调试  
  51.     # --------有道翻译表单数据--------  
  52.     data={}  
  53.     data['type']='AUTO'  
  54.     data['i']=to_be_trans  
  55.     data['doctype']='json'  
  56.     data['xmlVersion']='1.8'  
  57.     data['keyfrom']='fanyi.web'  
  58.     data['ue']='UTF-8'  
  59.     data['action']='FY_BY_CLICKBUTTON'  
  60.     data['typoResult']='true'  
  61.   
  62.     youdao_url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=dict2.index'  
  63.   
  64.     #  ---------- http报头:用户代理 ----------------  
  65.     USER_AGENTS = (  
  66.         'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/20100101 Firefox/11.0',  
  67.         'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100 101 Firefox/22.0',  
  68.         'Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0',  
  69.         ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) '  
  70.          'Chrome/19.0.1084.46 Safari/536.5'),  
  71.         ('Mozilla/5.0 (Windows; Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46'  
  72.          'Safari/536.5')  
  73.     )  
  74.     #  --------- 模拟手工请求:随机切换用户代理 ---------  
  75.     headers = {'User-Agent':random.choice(USER_AGENTS)}  
  76.     try:  
  77.         r = requests.post(youdao_url, timeout=10, headers=headers, data=data)  
  78.     except ConnectionError:  
  79.         print 'Network connection failed!'  
  80.         sys.exit(1)  
  81.     except Timeout:  
  82.         print 'request timeout!'  
  83.         sys.exit(1)  
  84.   
  85.     result = r.json()  
  86.     print result['translateResult'][0][0]['tgt'].encode(sys.stdout.encoding)  
   使用示例(如果感兴趣的朋友可以用pyinstaller工具将py源码转换成exe格式,直接执行,比较方便,在此用解释器执行):
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用javascript判断浏览器的版本及类型
12306火车票抢票Python代码最新完整版发布
java判断百度云分享链接是否失效
解决下载文件中文名称乱码(包括IE,edge,Firefox,chrome)
在B站学习Python爬虫小白学习笔记-初步认识requests
Python爬虫
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服