命令行实现有道英汉字典

2 篇文章 0 订阅
2 篇文章 0 订阅

原理:利用网页有道词典,进行网页解析。

废话不多说,上代码。

PS: 用的是python3.3

把代码保存为yodo.py放到~/python/scripts 下即可在命令行使用。

使用效果图:


import urllib.request
import re,os
from sys import argv

regulation = '''
规则:
1. 只准输入英文和数字。
2. 数字最大不超过10^19.
3. 由于argv的关系,我只接收一个单词。
4. 可以接收有连字符的单词。
'''

def lookUp(word):
    if word == None:
        pass
    else:    
        ex_url = 'http://dict.youdao.com/search?le=eng&q=MYWORD&keyfrom=dict.top'
        url = ex_url.replace('MYWORD',word)
        f = urllib.request.urlopen(url).read().decode()
        r= r'<div class="trans-container">.*?<li>(.*?)</li>.*?</div>'
        holders = re.findall(r,f,re.S)
        meaning = holders[0]
        print(meaning)
    
def badInput(word):
    if word == '-help':
        print(regulation)              
    r1 = r'[^\u4e00-\u9fa5]'                       # 不能是汉字
    r2 = r'^[a-zA-Z0-9]+\-?[a-zA-Z0-9]+$'          # 必须是字母数字空格和连字符,必须单词开头,单词结尾。
    if re.search(r1,word) and re.search(r2,word):  # 满足r1, r2才能返回。
        return word
    else:
        print('请检查拼写后重新输入。')
    
word = argv[1]
while 1:
    word = badInput(word)
    try:
        lookUp(word)
    except:    
        print('未查询到该词,请重新输入。')
    word = input('输入单词 >>> ')


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值