装逼神句———有道词典命令行查询工具

简介: 装逼说明不喜欢安装有道词典的应用程序,因为太耗资源还一堆广告,但是用浏览器打开dict.youdao.com也挺麻烦的,不是吗?快来试试有道词典命令行工具吧!看图装逼example.

装逼说明

不喜欢安装有道词典的应用程序,因为太耗资源还一堆广告,但是用浏览器打开dict.youdao.com也挺麻烦的,不是吗?快来试试有道词典命令行工具吧!

看图装逼

img_b70731f142a24f5a650b6f6e712a10f9.gif
example.gif

自已装逼

安装

    npm install yddict -g

使用说明

    yd <要查询的单词>

/usr/local/lib/node_modules/yddict/目录下,可以进行一些自定义,或者更改查询的来源,
主要源码 index.js:

#!/usr/bin/env node
const request = require('request');
const cheerio = require('cheerio');
const chalk = require('chalk');
const fs = require('fs');
const Spinner = require('cli-spinner').Spinner;
const isChinese = require('is-chinese')
const urlencode = require('urlencode');
const spinner = new Spinner('努力查询中... %s');
const home = process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];
const configFile = home + "/config.json";
let color = 'gray';//更改查询结果的文字颜色

spinner.setSpinnerString('|/-\\');
spinner.start();

const readFile = (filename, encoding) => {

    try {
        return fs.readFileSync(filename).toString(encoding);
    }
    catch (e) {
        return null;
    }
};

const config = JSON.parse(readFile(configFile,"utf8"));

const input = process.argv.slice(2)
const word = input.join(' ')
const isCn = isChinese(word);
const URL = isCn ? `http://dict.youdao.com/w/eng/${urlencode(word)}`:`http://dict.youdao.com/w/${urlencode(word)}`

const options = {
  'url':URL
};

if(config){
  if(config.proxy){
    options.proxy = config.proxy;
  }
  if(config.color){
    color = config.color;
  }
}

const color_output = chalk.keyword(color);
request(options,(error, response, body)=>{
  const $ = cheerio.load(body, {
    ignoreWhitespace: true,
    xmlMode: true
  });
  let result = '';

  spinner.stop(true);
  if(isCn){
    $('div.trans-container > ul').find('p.wordGroup').each(function(i,elm){
      result = $(this).text().replace(/\s+/g," ");
    });
  }else{
    result = $('div#phrsListTab > div.trans-container > ul').text();
  }
  // phrase
  if (result === '') {
    result = $('div#webPhrase > p.wordGroup').text();
  }
  // sentence
  if (result === '') {
    result = $('div#fanyiToggle > div.trans-container > p:nth-child(2)').text();
  }
  console.log(color_output(result));

});


装逼指导


注:本文首发于 iHTCboy's blog,如若转载,请注明来源。

目录
相关文章
|
IDE 测试技术 开发工具
AirtestIDE这个隐藏的小助手,还没用过你就亏啦!
AirtestIDE这个隐藏的小助手,还没用过你就亏啦!
289 0
|
编解码 Python
Python黑科技04-练手小项目-美轮美奂的电脑屏保
很多时候我们总是低估了自己,对自己不够狠,从而错过了遇到一个更加优秀的自己。逼自己一把,很多事并不需要多高的智商,仅仅需要你的一份坚持,一个认真的态度,一颗迎难而上的决心。 不去做,就永远不会有收获;不相信,就永远不会有成功;不可能,就永远停留现在。未来是靠把握机会和努力奋斗的,相信永远比怀疑多一次成功的机会!
Python黑科技04-练手小项目-美轮美奂的电脑屏保
|
机器学习/深度学习 人工智能 Python
Python3,为了考研,我用了9.9行代码,搞出一个GUI翻译器,从此再也不用百度翻译了。
Python3,为了考研,我用了9.9行代码,搞出一个GUI翻译器,从此再也不用百度翻译了。
36694 0
Python3,为了考研,我用了9.9行代码,搞出一个GUI翻译器,从此再也不用百度翻译了。
|
Shell Linux Windows
忘掉Iterm2,试试这款跨平台终端工具
Mac用户最多的用的就是Iterm2了,windows之前因为丑陋的终端也开发了新的终端工具,很神奇的是,很长一段时间里,都没有一款真正好用的能跨平台的终端工具,直到我发现了hyper。无论Windows、Mac、Debian、Fedora还是其他Linux系统,hyper都能支持。
忘掉Iterm2,试试这款跨平台终端工具
|
自然语言处理 Python
pycharm添加翻译插件和汉化插件,妈妈再也不用担心我英语不好啦
pycharm添加翻译插件和汉化插件,妈妈再也不用担心我英语不好啦
644 0
pycharm添加翻译插件和汉化插件,妈妈再也不用担心我英语不好啦
|
Python
Python3,5行代码,让你拥有无限量壁纸美图,终于告别手动下载了。
Python3,5行代码,让你拥有无限量壁纸美图,终于告别手动下载了。
117 0
|
Linux Docker 容器
再也不用百度了!快速构建自己的Linux命令查询系统
刚学Linux是不是被很多命令吓到了?其实可以部署一套自己的Linux命令查询系统,随时查询。
196 0
再也不用百度了!快速构建自己的Linux命令查询系统
|
人工智能 安全 机器人
来自一个插件的疯狂夸赞,VS Code「彩虹屁」插件问世,网友:我想要郭德纲版
听说有人开发了「虚拟程序员鼓励师」,安装使用后的我疯狂捶墙,导致我家变成了单间
270 0
来自一个插件的疯狂夸赞,VS Code「彩虹屁」插件问世,网友:我想要郭德纲版
|
9月前
|
缓存 网络协议 安全
你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(终章)
这篇文章简要介绍了计算机网络中交换机和路由器的工作原理,以及它们在网络通信和连接中的重要作用。交换机利用MAC地址表实现数据包的转发,而路由器则根据IP地址进行转发决策,将数据包从一个网络转发到另一个网络。通过交换机和路由器的协同工作,网络实现了高效的数据传输和通信。
102 3

热门文章

最新文章