您好,欢迎来到凯特情感。
搜索
您的当前位置:首页使用Python从有道词典网页获取单词翻译

使用Python从有道词典网页获取单词翻译

来源:凯特情感


从有道词典网页获取某单词的中文解释。

import re
import urllib

word=raw_input('input a word
')
 
url='http://dict.youdao.com/search?q=%s'%word
 
content=urllib.urlopen(url)
 
pattern=re.compile(".*?')
for i in pattern2.findall(result):
 print i.strip('
  • ').strip('
  • ').decode('utf-8')

    再给大家分享一个命令行版的

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Date : 2014-04-03 21:12:16
    # @Function: 有道翻译命令行版
    # @Author : BeginMan
    
    import os
    import sys
    import urllib
    import urllib2
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import simplejson as json
    import platform
    import datetime
    
    API_KEY = '******'
    KEYFORM = '******'
     
    def GetTranslate(txt):
     url = 'http://fanyi.youdao.com/openapi.do'
     data = {
     'keyfrom': KEYFORM,
     'key': API_KEY,
     'type': 'data',
     'doctype': 'json',
     'version': 1.1,
     'q': txt
     }
     data = urllib.urlencode(data)
     url = url+'?'+data
     req = urllib2.Request(url)
     response = urllib2.urlopen(req)
     result = json.loads(response.read())
     return result
     
    def Sjson(json_data):
     query = json_data.get('query','') # 查询的文本
     translation = json_data.get('translation','') # 翻译
     basic = json_data.get('basic','') # basic 列表
     sequence = json_data.get('web',[]) # 短语列表
     phonetic,explains_txt,seq_txt,log_word_explains = '','','',''
     
     # 更多释义
     if basic:
     phonetic = basic.get('phonetic','') # 音标
     explains = basic.get('explains',[]) # 更多释义 列表
     for obj in explains:
     explains_txt += obj+'
    '
     log_word_explains += obj+',' 
     # 句子解析
     if sequence:
     for obj in sequence:
     seq_txt += obj['key']+'
    '
     values = ''
     for i in obj['value']:
     values += i+','
     seq_txt += values+'
    '
     
     print_format = '*'*40+'
    '
     print_format += u'查询对象: %s [%s]
    ' %(query,phonetic) 
     print_format += explains_txt
     print_format += '-'*20+'
    '+seq_txt
     print_format += '*'*40+'
    '
     print print_format
     choices = raw_input(u'是否写入单词本,回复(y/n):')
     if choices in ['y','Y']:
     filepath = r'/home/beginman/pyword/%s.xml' %datetime.date.today()
     if (platform.system()).lower() == 'windows':
     filepath = r'E:pyword\%s.xml' %datetime.date.today()
     fp = open(filepath,'a+')
     file = fp.readlines()
     if not file:
     fp.write('
    ')
     fp.write(u""" 
     %s
     
     
     %s
     1
     
    
    """ %(query,log_word_explains,phonetic,datetime.date.today()))
     fp.close()
     print u'写入成功.'
    
    def main():
     while True:
     txt = raw_input(u'请输入要查询的文本:
    ')
     if txt:
     Sjson(GetTranslate(txt))
    
    if __name__ == '__main__':
     main()

    Copyright © 2019- ktwm.cn 版权所有

    违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

    本站由北京市万商天勤律师事务所王兴未律师提供法律服务