使用Python从有道词典网页获取单词翻译
admin
2023-08-01 22:40:31
0

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

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()

    以上就是本文的所有内容了,希望大家能够喜欢

    相关内容

    热门资讯

    Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
    定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
    500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
    scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
    65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
    小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
    pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
    微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
    Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
    python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...