iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用Python从有道词典网页获取单词翻译
  • 813
分享到

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

单词词典网页 2022-06-04 18:06:24 813人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

从有道词典网页获取某单词的中文解释。 import re import urllib Word=raw_input('input a wordn') url='Http://dict.youdao

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


import re
import urllib

Word=raw_input('input a wordn')
 
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>nn""" %(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()

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

--结束END--

本文标题: 使用Python从有道词典网页获取单词翻译

本文链接: https://www.lsjlt.com/news/14521.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用python实现一款属于自己的翻译词典软件
    这篇文章主要介绍如何使用python实现一款属于自己的翻译词典软件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、设计理念先写一个登录的py文件,用python的tkinter库2.再写一个py文件用于爬取有道翻译...
    99+
    2023-06-15
  • 告别网页搜索!教你用python实现一款属于自己的翻译词典软件
    目录一、设计理念二、代码解析三、软件窗口界面四、源码展示五、效果展示一、设计理念 1.先写一个登录的py文件,用python的tkinter库 2.再写一个py文件用于爬取有道翻译输...
    99+
    2024-04-02
  • 利用python从网页上获取所有信息
    使用python获取网页中的所有信息,具体方法如下:page = urllib2.urlopen(url) contents = page.read() #网页链接 print(contents) ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作