使用Python从有道词典网页获取单词翻译_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("</h2.*?</ul>",re.DOTALL)

result=pattern.search(content.read()).group()
pattern2=re.compile('<li>.*?</li>')
for i in pattern2.findall(result):
  print i.strip('<li>').strip('</li>').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('<wordbook>\n')
      fp.write(u"""  <item>\n  <word>%s</word>\n  <trans><![CDATA[%s]]></trans>\n  <phonetic><![CDATA[[%s]]]></phonetic>\n  <tags>%s</tags>\n  <progress>1</progress>\n  </item>\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()

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python
翻译
有道词典单词本、有道词典单词本导出、有道词典批量导入单词、有道词典单词本下载、有道词典单词本导入,以便于您获取更多的相关知识。

时间: 2024-10-28 22:40:30

使用Python从有道词典网页获取单词翻译_python的相关文章

有道词典4.3正式版发布 网页版单词本新鲜出炉

8月9日,有道词典4.3正式版发布.该版本在4.3Beta版基础之上新增了网页版在线单词本功能,并结合有道搜索技术对释义数据库进行了优化,使新版有道词典能够实现丰富的划词释义功能,更加强大也更具内涵. 新增网页版单词本,多平台轻松背单词 有道词典4.3正式版新增了用户呼声很高的在线单词本功能,用户在使用网页版词典查询单词时,可以通过"单词本"按钮轻松一键将生词收藏到单词本中(图一). 图一:在线单词本的添加按钮 网页版在线单词本也提供了卡片模式帮助用户进行单词学习,并依据艾宾浩斯遗忘曲

有道词典怎么修改发音

  有道词典怎么修改发音?有道词典是一款非常好用的功能强大的翻译软件,是学习外语的必备神器.有道词典中,可以翻译多种语言,而且提供了标准的发音.但有道词典的默认发音是英音,有的人会更喜欢美音的发音,或者更需要学习美式发音.那么,怎么把有道词典的默认发音设置为美音呢?安下小编来教你详细的设置步骤. 有道词典设置美式发音的方法 1.在电脑上找到打开"有道词典",进入"有道词典" 2.进入"有道词典"后,点击左下角的"开始菜单"(如

有道词典怎么网页取词?

  手机版有道词典屏幕取词教程 1.在手机中打开有道词典应用,打开之后点击"相机图标"如下图所示: 2.打开有道词典的屏幕取词工具后,对着书本或者其他有英文的地方就可以取词了,如下图所示. 电脑版屏幕取词教程 打开有道词典,如图所示 在有道词典面板的左下角点击,如图所示 弹出菜单,点击"软件设置",如图所示 弹出软件设置对话框,选择"取词画词"按钮,如图所示 勾选"启用屏幕取词"对话框,在下面选择你要的取词方式,一般选择鼠标取

有道词典OCR取词功能让翻译更智能

经常浏览外国网站的朋友几乎每天都能遇到大量陌生的词汇和短语,坑爹的是,这些"拦路虎"往往存在于图片之中,这是很多电子词典在取词方面的盲区.但如果我们不及时处理这些小障碍,就会影响到获取信息的速度和质量.这时如果有一款软件可以翻译图片里的陌生词汇,那就再好不过了. 有道词典 教程 作为目前最火的翻译软件,有道词典依靠其强大的功能而被人们关注.它不但可以翻译文字格式的词汇与短语,更实现了OCR取词功能--能对图片与PDF文档中的单词进行翻译.真正做到了"即时"与&quo

有道词典让翻译更智能 图片里也能取词!

经常浏览外国网站的朋友几乎每天都能遇到大量陌生的词汇和短语,坑爹的是,这些"拦路虎"往往存在于图片之中,这是很多电子词典在取词方面的盲区.但如果我们不及时处理这些小障碍,就会影响到获取信息的速度和质量.这时如果有一款软件可以翻译图片里的陌生词汇,那就再好不过了. 有道词典 作为目前最火的翻译软件,有道词典依靠其强大的功能而被人们关注.它不但可以翻译文字格式的词汇与短语,更实现了OCR取词功能--能对图片与PDF文档中的单词进行翻译.真正做到了"即时"与"准

有道词典智能取词功能 翻译随时随地

学习英语应该是无时无处不在的,仅靠强行记忆单词册的方法,单词在脑中停留的时间会非常的短,经常出现我们常说的"考过即忘"的现象,这对真正的英语学习是非常不利的.此外,强记单词也容易造成理解不深的情况,对单词的意思一知半解,更不要提灵活运用了.因此,应该将英语学习融入日常的生活当中,尤其是日常阅读当中,遇到不会的单词即查即学,这样不仅能够加深印象,更能够理解单词在语境中的用法. 有道词典智能取词功能 翻译随时随地 在我们浏览网页遇到生词的时候,不少人会把单词复制粘贴到搜索引擎中去搜索它的释

有道词典怎么翻译?

  打开有道词典之后,我们可以看到第一个"词典"界面.有道词典目前支持"汉英互译.汉法互译.汉日互译.汉韩互译"这绝对已经能够满足大家的日常需求啦! 接下来,我们可以看到在翻译结果窗口内,有"释义.例句.百科.新汉英"选项,这里需要注意的是"词典"功能只能对单一的单词.词组进行查询并翻译,整句翻译的话还需到后面的"翻译"中进行. 在"例句"窗口中,功能也是非常丰富的,其中"原声

python做爬虫时,如何获取下一页的html?

问题描述 python做爬虫时,如何获取下一页的html? 具体网址http://data.10jqka.com.cn/market/yybhyd/![图片说明](http://img.ask.csdn.net/upload/201603/09/1457522333_494323.png) 解决方案 分析网页数据,提取链接先做了再说. 解决方案二: 遍历页面内容中的tag a等内容 然后循环爬出下一层 解决方案三: 一般都通过一个当前页面整数作为请求参数,每次访问的时候递增这个参数就行了 解决方

有道词典Mac版更新 提供更优质查词体验

本文讲的是 :  有道词典Mac版更新 提供更优质查词体验  , 近日,有道词典Mac1.1版上线,为广大使用Mac的果粉们带来了更为优质的查词体验.有道词典Mac版在基本释义基础和丰富的网络释义功能基础上,新增日.韩.法多语种查词和多种权威词典.此外,新版mac词典也对于百科功能进行了完善,优化百度百科展示,增加维基百科内容. 多语种查词全面完善 在日益国际化的今天,我们也在更大程度上进入一个多语种环境中.因此,有道词典mac版首先对于多语种查词进行了完善,集成中.英.日.韩.法多语种专业词典