正好把手头以前写的脚本整理下,完善了一下,大家看看玩把。
原理很简单,都能看懂,就是发送个请求,解析下翻译结果。
使用方法:
[root@linux ~]# python smalldict.py fish
输入: fish
----------------------------------------
n.鱼
v.捕鱼,钓鱼
[第三人称单数fishes 复数fish]
代码如下,请注意缩进:
#!/usr/bin/python
#coding:utf-8
# *************************************************
# author : smallfish <smallfish@live.cn>
# http://hi.baidu.com/smallfish7788
# date : 2008-08-28
# version : 0.1
# desc : 返回输入单词的中文翻译
# *************************************************
# 导入sys urllib re模块相应的常量和函数
from sys import argv
from urllib import urlopen
from re import S, sub, compile
# 格式化结果 去除换行、替换空格和html标签
def format_html(s):
s = sub("/s", '', s)
s = sub(" ", ' ', s)
s = sub("<[^>]*>", '', s)
return s
# 发送查询
def search_word(word) :
searchurl = 'http://dict.yodao.com/search?tab=chn&keyfrom=dict.top&btnG=&q='
html = urlopen(searchurl+str(word)).read()
# 正则匹配结果
results = compile('<td class="attributem1web">(.*?)</td>', S).findall(html)
# 输出结果
print '输入:',word
print '-' * 40
if not results :
print '没有查询到结果'
return
for result in results :
print format_html(result)
if __name__ == '__main__' :
# 判断是否输入单词
if len(argv) != 2 :
print '输入错误,缺少查询单词.'
else :
search_word(argv[1])
原理很简单,都能看懂,就是发送个请求,解析下翻译结果。
使用方法:
[root@linux ~]# python smalldict.py fish
输入: fish
----------------------------------------
n.鱼
v.捕鱼,钓鱼
[第三人称单数fishes 复数fish]
代码如下,请注意缩进:
#!/usr/bin/python
#coding:utf-8
# *************************************************
# author : smallfish <smallfish@live.cn>
# http://hi.baidu.com/smallfish7788
# date : 2008-08-28
# version : 0.1
# desc : 返回输入单词的中文翻译
# *************************************************
# 导入sys urllib re模块相应的常量和函数
from sys import argv
from urllib import urlopen
from re import S, sub, compile
# 格式化结果 去除换行、替换空格和html标签
def format_html(s):
s = sub("/s", '', s)
s = sub(" ", ' ', s)
s = sub("<[^>]*>", '', s)
return s
# 发送查询
def search_word(word) :
searchurl = 'http://dict.yodao.com/search?tab=chn&keyfrom=dict.top&btnG=&q='
html = urlopen(searchurl+str(word)).read()
# 正则匹配结果
results = compile('<td class="attributem1web">(.*?)</td>', S).findall(html)
# 输出结果
print '输入:',word
print '-' * 40
if not results :
print '没有查询到结果'
return
for result in results :
print format_html(result)
if __name__ == '__main__' :
# 判断是否输入单词
if len(argv) != 2 :
print '输入错误,缺少查询单词.'
else :
search_word(argv[1])