哪个网站能找到做夜场的女孩/销售推广方案
如何在linux中实现简单翻译器
我本来只是有个单词不会想查找,然后想在linux里面找一些简单的命令行翻译器,结果百度到的几款翻译器都很拉垮。这让我萌生了自己写一个简单的翻译器的念头。
大致想法
翻译器这个东西肯定不是十分钟就能写出来的,我肯定要使用接口来获取翻译的结果,或者使用爬虫获取翻译网站的信息。
最开始我想到的是使用百度翻译的接口。
介绍以下curl
命令,它能获取网页的源代码。
通过观察,我发现百度翻译的网站要翻译的词语直接放在了url里面
然后我通过查看网页的资源获取了显示翻译结果文本的html信息
理想的结果是,使用curl
命令获取网页源代码,然后写一个C程序或者随便什么脚本获取到翻译结果
但是现实的结果是,curl
命令只能获取静态的网页
现在谁家的网页还是静态的
在明白这一点之前,我付出了艰辛的努力,查阅各种资料、论坛、博客
最后得出了以我现在的能力不大可能实现这一点的结论
我要安装一些软件、配置一些环境、查看一些代码,在我终于找到了百度翻译司马的javascript加密算法之后,我放弃了
我只是想搞一个简单的脚本
就像我本来只是想钓一条鱼,普通的钓竿就够了,为什么要专门造一艘航空母舰
所以最后还是得找开放的API
一个半小时的成果是:
javascript是evil code
寻找开发API
百度和CSDN真的是司马东西,一个给我推荐一些没有什么用的广告,另一个全部都是复制粘贴的东西
但是我还是凭借着不屈的毅力,在尝试了必应(其实是免费的但是它的接口我不大懂)、金山词霸(一个比较高级的api曾经免费过现在不是了)、有道辞典之后,我终于找到了有道辞典的一个开放api
我看着一个介绍有道辞典的开放api的网页的更新日期是2011年,当时心里面戈登一下,没了
百度翻译两年前还是开放api的,现在就必须要token和sign才能用了
但是抱着试试看的心情我还是在地址栏输入
http://fanyi.youdao.com/translate?doctype=json&type=AUTO&i=love
神奇的事情出现了

这就是爱吗
被爱着的感觉orz
终于找到可以使用的开放api了
撰写shell脚本
我会用shell,我也会用脚本,但是两个加在一起我就一窍不通了
但是没有关系,我们程序员是面向百度编程的
此处放几个我在写脚本的过程中参考过的网页
如何使shell脚本变为全局命令
如何使curl不打印%Total信息
Linux使用[ ]判断的时候报错-bash: [: missing `]’
Shell字符串比较相等、不相等方法
shell中的循环语句
shell 获取用户输入
linux字符截取的八种方法
linux下的字符替换
经过了艰难的学习和不断的试错,在半个小时后我写出了这样的代码
#!/bin/bashread wordStrwhile [ "$wordStr" != "!q" ] # 此处wordStr前有一个美元符号,因为我的博客使用了latex解析所以它无了,下面有注释的地方都是有一个美元符号
dowordStr=${wordStr//" "/%20} # replace ' ' to '%20' 这里{前面缺一个美元符号jsonStr="`/usr/bin/curl -s 'http://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i='+$wordStr`" # 这里wordStr前面有一个jsonStr=${jsonStr##*:"} # 这里{前面有一个echo ${jsonStr%%"*} # 同上read wordStr
done
用颤抖的手指按下./myTranslater
输入love
成功输出了爱
啊,感受到自己被爱着
大脑在颤抖
但是还没有结束
要让它能顺利运行,还需要放在bin
目录里面
我最开始使用了ln
创造软连接
可惜不行,报错说经过了太多层跳转
因为我linux学得一塌糊涂,所以我猜想,这是系统为了提升运行速度而设置的阻碍
没有关系,使用cp
复制一份过去
然后按下myTranslate
输入love
按下回车
啊,再次感受到了自己正在被爱着
另,其实我后来才知道,命令放在/usr/local/bin
里面也是可以执行的
cd
到那个目录一看:
$ ls /usr/local/bin/
crashpad_handler myTranslator qq
对只有几个命令,很是干净,对比/bin
里面的几百个系统命令,我写的垃圾脚本有它自己应该去的地方
后记
所以,我本来只是想查一个单词,却浪费了半个下午的时间,学习了shell脚本的简单写法,熟悉了linux的操作,了解了一些爬虫的知识,对javascipt代码的恶心程度有了更深的体会,以及多了一个没什么用的翻译器脚本
顺便贴下我要查的单词:manuscript
,手稿,看得懂script,加上前面那几个字就不会了
码农的生活,就是这么枯燥且乏味