linux 终端翻译,linux下终端使用有道翻译
linux下面使用终端,有的时候需要查找一个单词,都需要打开浏览器通过网页来查找单词,这样效率会会非常的繁琐,并且也会降低工作效率。
之前刚开始看python文档的时候,看过别人说的一个用python写的在终端下查单词的脚本,当时没记录下来,后来也没找到。
今天本来是想解决我网站的显示的问题,但是想到这个不做了就感觉哪里不对,一股强迫症的感觉。。
自己用python写了一个脚本,用的是有道翻译的api,感谢有道。
使用方法为,python youdao.py word ,单词 word为你要查询的单词。
下面贴代码:
import sys
from urllib.request import urlopen
from html.parser import HTMLParser
def get_result(word):
url = 'http://fanyi.youdao.com/openapi.do?keyfrom=majunzhe&key=27448872&type=data&doctype=xml&version=1.1&q='
query_url = url + word
result = urlopen(query_url).read().decode('utf-8')
return result
class WordResultParser(HTMLParser):
bHandled = False
bExplain = False
data_meaning = ''
output = ''
tags = ('phonetic', 'ex', 'key')
def parse_data(self, data):
beg_pos = data.rfind('[') + 1
end_pos = data.find(']', beg_pos, len(data))
if end_pos == -1:
end_pos = len(data)
#print(beg_pos)
#print(end_pos)
#print(data)
self.data_meaning = data[beg_pos:end_pos]
def handle_starttag(self, tag, attrs):
if 'basic' == tag:
self.output += '基本释义:\n'
elif 'web' == tag:
self.output += '网络释义:\n'
elif 'explain' == tag:
self.bExplain = True
if tag in self.tags:
self.bHandled = True
def handle_endtag(self, tag):
if 'explain' == tag:
self.output += '\n'
self.bExplain = False
def unknown_decl(self, data):
if self.bHandled != True:
return
self.parse_data(data)
endstr = '\n'
if self.bExplain:
endstr = ' '
self.output += self.data_meaning + endstr
self.bHandled = False
def print_results():
for word in sys.argv[1:]:
#print('-------------------------------------------------------------')
# get the query result
word_result = get_result(word)
#print(word_result)
word_parser = WordResultParser()
word_parser.feed(word_result)
print(word_parser.output[:-2])
#print('-------------------------------------------------------------')
print_results()
大致步骤是这样的:
1 首先明白有道翻译api的使用方法,具体步骤可以在官网上面查看,但是使用api之前要申请一个 key。
2 通过python的库来打开url,并通过解析 返回的数据得到查询结果,我使用的是 python 库 HTMLParser来解析数据的。
3 在linux下再进行简单的配置下,就可以直接在像使用其他的命令行来使用这个脚本了。
这个脚本我设置了一次能查询多个单词的功能。
下面是在linux下面的配置步骤:
1 首先把上面的python代码存成一个名为 youdao.py的文件,我把这个文件放置在 ~/Documents 文件夹下
2 再在 ~/ 文件夹下创建一个 脚本 , 文件命名为 youdao
#!/bin/bash
while [ $# -ne 0 ]
do
python Documents/youdao.py $1
shift
done
其中的while语句是用来一次查询多个单词使用的
3 当完成了上述的步骤之后,就可以./youdao xxx, 这样的查询单词了。
但是我们这样用着肯定不方便的。那就将这个脚本链接到/usr/bin 下。
sudo ln -s ~/youdao /usr/bin/youdao
4 完成。
下面就可以尽情在命令行下面查询单词了,没有添加查询句子的功能,觉得没啥用,一般都是查一个单词的,一次查多个单词的功能还是为了以防万一。
哈哈
个人网站为:www.majunzhe.com
时间: 08-09
linux 终端翻译,linux下终端使用有道翻译相关推荐
- python有道翻译-使用python2爬取有道翻译
爬虫的核心思想:模拟浏览器正常访问服务器,一般情况只要浏览器能访问的,都可以爬,如果被反爬,则考虑反复测试添加Request Header数据,知道可以爬取为止. 反爬思路目前知道的有:User-Ag ...
- python有道翻译接口-Python通过调用有道翻译api实现翻译功能示例
本文实例讲述了Python通过调用有道翻译api实现翻译功能.分享给大家供大家参考,具体如下: 通过调用有道翻译的api,实现中译英.其他语言译中文 Python代码: # coding=utf-8 ...
- python调用有道翻译_python 简单的调用有道翻译
代码 import json import requests # 翻译函数,word 需要翻译的内容 def translate(word): # 有道词典 api url = "http: ...
- 把英文翻译成中文php,中文翻译成英文,英文翻译成中文(调用的有道翻译的api)示例源码...
[实例简介] 调用的 有道翻译的api [实例截图] [核心代码] define("CURL_TIMEOUT", 20); define("URL", &quo ...
- 下 终端_Linux/UNIX 下终端复用利器 tmux
tmux 是一个终端复用器(terminal multiplexer). 简介 tmux 是一个终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布.用户可以通过 tmux ...
- python有道翻译-利用python写一个有道翻译的脚本
废话不多说,直接上代码import urllib.request import urllib.parse import json content = input("请输入要翻译的内容:&qu ...
- python有道翻译接口-Python调用有道翻译api实现翻译
通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time i ...
- python 文本翻译 项目_如何用python批量翻译文本?
首先,看一下百度翻译的官方api文档. http://api.fanyi.baidu.com/api/trans/product/apidoc # coding=utf-8 #authority:bi ...
- 编写程序实现通过有道或百度翻译url对用户输入数据进行翻译_8亿用户AI有道:超强神经网络翻译技术大解密...
[新智元导读]数据的作用在人工智能发展道路上愈发被重视.7月27日,在广州举行的GMIC大会上,网易有道技术总监林会杰表示目前AI+教育还在初级阶段,对于这一行业而言,得数据者得先机.这家拥有国内最大 ...
- 编写程序实现通过有道或百度翻译url对用户输入数据进行翻译_8亿用户AI有道,超强神经网络翻译技术大解密...
[新智元导读]数据的作用在人工智能发展道路上愈发被重视.7月27日,在广州举行的GMIC大会上,网易有道技术总监林会杰表示目前AI+教育还在初级阶段,对于这一行业而言,得数据者得先机.这家拥有国内最大 ...
最新文章
- Swift学习总结【持续更新】
- 中国科学技术大学 中科大(USTC)UBUNTU源Linux镜像站IPV4/IPV6
- 高频面试考点:Redis中有几百万数据量,如何进行高效访问?
- 统计计量 | 统计学中常用的数据分析方法汇总
- Docker+geoserver发布shp地图服务
- Linux下备份cisco路由配置
- 【转】D365 FO第三方集成(三)---服务实现
- struts2+hibernate+spring配置详解
- poj 2777 AND hdu 5316 线段树
- 超实用的shell脚本--一键获取进程所有信息
- 如何短期通过2022年3月PMP考试?
- arcgis中python计算面积的表达式_Python计算任意多边形面积算法
- Maven下载安装及修改setting内容
- python爬虫-字体反爬全流程(woft文件-转换字体-字体图片-图片识别全流程)
- anaconda conda环境管理命令
- ROS机器人学习历程三:Publisher 和Subscriber
- 电信9530手机上面使用移动的SIM卡
- Go、Rust、C++和Zig语言的生产力对比 | Gopher Daily (2021.03.28) ʕ◔ϖ◔ʔ
- [转载]以xilinx为例的低功耗设计
- python实现用伏羲八卦对ASCII码进行加密
热门文章
- 金山词霸划译功能对IDE的影响
- 【京东商城首页实战4】topbanner制作
- sklearn.metrics.accuracy_score/precision_score/recall_score、micro/macro/weighted(准确率、召回率)
- Namecheap无法登录
- otl连接mysql_otl通过myodbc连接mysql
- 异常检测时间序列_神经病学时间序列/异常检测:分层时间记忆
- K-means聚类攻击类型
- IT服务台的进化(1)--企业内部服务台的优缺点
- Linux接蓝牙音响无声音,win10蓝牙音箱没有声音怎么办_win10蓝牙音响连接成功没声音处理方法...
- 《Scrum实战》第3次课【富有成效的每日站会】作业汇总