Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > Python编程技巧

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

来源:中文源码网    浏览:162 次    日期:2024-05-12 02:20:02
【下载文档:  使用Python从有道词典网页获取单词翻译.txt 】


使用Python从有道词典网页获取单词翻译
从有道词典网页获取某单词的中文解释。
import re
import urllib
word=raw_input('input a word\n')
url='http://dict.youdao.com/search?q=%s'%word
content=urllib.urlopen(url)
pattern=re.compile("",re.DOTALL)
result=pattern.search(content.read()).group()
pattern2=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+'\n'
    log_word_explains += obj+','
    # 句子解析
    if sequence:
    for obj in sequence:
    seq_txt += obj['key']+'\n'
    values = ''
    for i in obj['value']:
    values += i+','
    seq_txt += values+'\n'
    print_format = '*'*40+'\n'
    print_format += u'查询对象: %s [%s]\n' %(query,phonetic)
    print_format += explains_txt
    print_format += '-'*20+'\n'+seq_txt
    print_format += '*'*40+'\n'
    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('\n')
    fp.write(u""" \n %s\n \n \n %s\n 1\n \n\n""" %(query,log_word_explains,phonetic,datetime.date.today()))
    fp.close()
    print u'写入成功.'
    def main():
    while True:
    txt = raw_input(u'请输入要查询的文本:\n')
    if txt:
    Sjson(GetTranslate(txt))
    if __name__ == '__main__':
    main()
    以上就是本文的所有内容了,希望大家能够喜欢

    相关内容