声明:脚本文件为原作者所有,我只是做了些自定义修改而已,脚本使用有道词典网页版作为查询API

将脚本扔到/usr/bin/下面,使用命令yd + 单词进行查询. 支持英汉查询和汉英查询.

#! /usr/bin/python2.7
from bs4 import BeautifulSoup
import httplib2
import string
import socket
import time
import syst0 = time.time()
api = 'http://dict.youdao.com/search?q='
cache = '/home/abram/code/cache'
reload(sys)
sys.setdefaultencoding("utf-8")def isChinese(s):for ch in s.decode('utf-8'):if u'\u4e00' <= ch <= u'\u9fff':return Truereturn Falsedef getWord():try:word = sys.argv[1].replace('_', ' ')except:print("No word found.")exit(1)if isChinese(word):wordf = (word,1) # 1 for Chinese; 2 for Englishelse: # wordf means word with a flagwordf = (word,2)return wordfdef getPage(wordf):url = api + wordf[0]h = httplib2.Http(cache)try:headers, content = h.request(url,"GET")except socket.timeout:print("Timeout, dude.")exit(2)if headers.status == 200:page = content.decode('utf-8')else:print("Unable to retrive the page, error code:", headers.status)exit(1)return (page, wordf[1]) # page and the flag of the worddef getResult(pagef):page = pagef[0]flag = pagef[1]soup = BeautifulSoup(page,"html.parser")con = soup.find("div", class_="trans-container")if flag == 1:try:for i in con.ul.find_all('p'):for j in i.find_all('span'):for k in j.find_all('a'):print(k.string)except:passelse:try:pronounce=soup.find("div",class_="baav").find_all("span")print 'en '+pronounce[1].string+' us '+pronounce[3].stringexcept:passtry:for i in con.ul.find_all('li'):print(i.string)except AttributeError:print("Check your spelling and try again.")exit(1)try:additional=soup.find("p",class_="additional")print (additional.string.replace(" ","").replace("\n"," "))except:passdef main():getResult(getPage(getWord()))t1 = time.time()print "                                    "print('[finished in {:.3}s]'.format(t1 - t0))if __name__ == '__main__':main()

  

转载于:https://www.cnblogs.com/xiaopan-cp9/p/7850149.html

Python 英汉-汉英 词典脚本,可以安装到Linux命令中相关推荐

  1. docmd怎么读_欧路词典|英汉-汉英词典 access是什么意思_access的中文解释和发音_access的翻译_access怎么读...

    Access to this information is severely restricted. 这一信息的使用受到极严格的限制. Delf Keylogger.This malicous pro ...

  2. 命令行实现英汉汉英词典

    看着学吧:我就不多解释了,主要看注释就差不多了. 至于模块安装有疑问的话,可以留言在这里,我会尽力解答. # author: rexora # date: Sept 25 2014 import ht ...

  3. liner中文翻译_欧路词典|英汉-汉英词典 liner是什么意思_liner的中文解释和发音_liner的翻译_liner怎么读...

    The transatlantic liner forged ahead through the waves. 横渡大西洋的客轮破浪前进. They sailed to America in a la ...

  4. friendly发音_欧路词典|英汉-汉英词典 friendly是什么意思_friendly的中文解释和发音_friendly的翻译_friendly怎么读...

    The refusal was couched in friendly language. 他用友善的语言表达了拒绝之意. He's a friendly chatty sort of person. ...

  5. Python控制台英汉-汉英电子词典

    2019独角兽企业重金招聘Python工程师标准>>> Python控制台英汉-汉英电子词典 By qianghaohao(CodeNutter) 用python实现了下控制台电子词 ...

  6. Python控制台英汉-汉英电子词典(代码分享)

    Python控制台英汉-汉英电子词典 By qianghaohao(CodeNutter) 用python实现了下控制台电子词典,数据来自有道,通过向有道发送http表单数据, 然后将服务器返回的js ...

  7. 计算机专业词典_好书优选:实用英汉汉英计算机词典

    购买入口: 基本信息 书名:实用英汉汉英计算机词典 价格:98.00元 作者:王能琴,谢建勋 主编 出版社:北京航空航天大学出版社 出版日期:2009-03-01 ISBN:9787811243116 ...

  8. Python基础笔记_Day14_Python图形化界面、Python GUI、tkinter、Python英汉词典

    Day14_Python图形化界面.Python GUI.tkinter.Python英汉词典 14.01_Python语言基础(Python实现英汉字典)(掌握) 14.02_Python语言基础( ...

  9. java设计单词英译汉小助手_java课程设计——英汉电子词典编程

    Java课程设计--英汉电子词典 一.需求分析 二十世纪后半叶,以电子计算机为代表的现代科学获得了突飞猛进的发展并迅速和人们的日常生活结合在一起.计算机技术的发展和进步也使电子语言词典的诞生成为可能. ...

最新文章

  1. 资源 | Intel发布AI免费系列课程3部曲:机器学习基础、深度学习基础以及TensorFlow基础
  2. 白话——胡说图像分类器
  3. 贝佐斯明抢马斯克太空生意:数十亿美元组卫星互联网,5年内发射3236颗卫星...
  4. android wear 2.0 moto360 二代,最好看的 Android Wear, 二代 Moto 360 可能就是这样了
  5. OpenCV-Python 相机校准和消除畸变
  6. scrapy之settings参数
  7. matlab出现红色括号,想让大家看下标红地方为什么说有括号问题
  8. 对ExtendedWebBrowser的再扩展
  9. 各种排序算法比较--2015年7月23日22:33:43v1.0版
  10. java 字典 引用_java中数据字典的使用
  11. 品牌诞生于两个驱动力
  12. Linux ubuntu 切换阿里更新源
  13. 图像旋转(任意角度)matlab
  14. 计算机网络练习题-1
  15. vmware克隆linux虚拟机,报Device eth1 does not seem to be present,delaying initialization.错误
  16. linux 运行.deb,Ubuntu下如何用命令行运行deb安装包
  17. Linux安装mysql 开启bingo日志
  18. 亚马逊aws如何升级php,使用Amazon AWS服务PHP发送SMS
  19. [转知乎]网易云音乐的歌单推荐算法是怎样的?
  20. unity3d环境搭建

热门文章

  1. 网络分流器|网络分流器大数据采集方案
  2. REXX常用脚本(1)——提交JCL
  3. 开发者必知的KPI概念和用法
  4. bldc不同载波频率_谈一下我所知道的变频
  5. RKGE:Recurrent Knowledge Graph Embedding for Effective Recommendation 论文
  6. 哈工大计算机学院非全日制,如何选择哈尔滨工业大学非全日制与全日制研究生?...
  7. Qt 使用live555
  8. 爬取小说并在手机上看
  9. 第8章第22节:制作企业宣传册的案例分析幻灯片 [PowerPoint精美幻灯片实战教程]
  10. 内部认购 热销掩盖陷阱