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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java学习(2):学生管理系统2

这是继续修改后的代码,亲测可用 增加一个二位数组存储数据 import java.util.; public class student { public static void main(String[] args){ //存储学生人数 Scanner in new Scanner(System.in); System.out.println(“请输入学生人数:”); //存储…

[BZOJ1444]有趣的游戏(AC自动机+矩阵乘法)

n个等长字符串,机器会随机输出一个字符串(每个字母出现的概率为p[i]),问每个字符串第一个出现的概率是多少。 显然建出AC自动机,套路地f[i][j]表示i时刻位于节点j的概率。 构建转移矩阵,当i为某个子串结束节…

web前端开发——HTML学习

WEB前端开发 W3C学习网站 MDN学习网站 HTML 从语义角度&#xff0c;描述页面结构 语言不区分大小写&#xff0c;特殊字符要求全小写 html5文件结构 快速编辑&#xff1a;Tab键 <!DOCTYPE html> 文档类型&#xff1a;符合HTML5标准 <htmml lang"en"&…

python群发短信脚本_python实现zabbix发送短信脚本

本文实例为大家分享了zabbix发送短信的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下使用方法./sendSMS.py PHONE_NUMBER args_2 SMS_MSG接收参数输入参数一: 接收手机号(zabbix传来的第1个参数&#xff0c;报警接收手机号)&#xff0c;第一个参数可以对比发送邮件的…

java学习(3):学生管理系统3

总计分为六次修改&#xff0c;代码可直接拿出来用&#xff0c;建立一个类即可&#xff0c;注意类名同步 解决总分平均分问题 import java.util.*; public class student { public static void main(String[] args){ //存储学生人数 Scanner in new Scanner(System.in); System…

第二次作业重交

一、项目简介 1、Gitee项目地址&#xff1a;https://gitee.com/xnsy/WC 2、开发语言&#xff1a;C#语言 3、解题思路 刚看完作业要求后&#xff0c;只知道这个程序要完成对文件的统计工作&#xff0c;但是对于程序设计仍然是一头雾水&#xff0c;而后百度了怎么编写wordcount程…

2021/1/18

在家宅了两天&#xff0c;寒假立的flag不能就这样倒了&#xff0c;今天开始学数据结构和算法还有前端开发&#xff0c;不然我连寒假作业都写不完QAQ。

java学习(4):第一个java程序

1第一个java文件 编写一个.java后缀的文件 public class helloworld{ public static void main(String[] args){ System.out.println(“helloworld”); } } 2cmd 编译java javac helloworld 生成class文件使用 Java helloworld 输出helloworld结束 个人练习 public class test…

python单元测试的应用_单元测试pythongui应用程序的推荐方法是什么?

我目前愚蠢到试图为Python桌面应用程序维护两个并行代码基&#xff0c;一个使用PyGObject introspection for GTK 3&#xff0c;另一个使用PyGTK for GTK 2。我主要在PyGObject分支上工作&#xff0c;然后将变更移植到PyGTK分支上。由于这些实现之间的所有细微差异&#xff0c;…

洛谷P2480 [SDOI2010]古代猪文(卢卡斯定理+中国剩余定理)

传送门 好吧我数学差的好像不是一点半点…… 题目求的是$G^{\sum_{d|n}C^d_n}mod\ 999911659$ 我们可以利用费马小定理$a^{k}\equiv a^{k\ mod\ (p-1)}(mod\ p)$ 然后组合数可以直接用Lucas搞 那么就做完啦 然而$p-1$并不是质数orz&#xff0c;费马小定理不能用 那么我们考虑把…

java学习(5):全局变量和局部变量

public class qulitity{ static int num125; public static void main(String[] args){ System.out.println(“全局变量的值为”num1); int num212; System.out.println(num2); Test(); } public static void Test(){ int num21000; System.out.println(num2); } }

C语言知识点笔记完全整理

这个大长篇相当于是自己对于c语言学习的一个总结&#xff0c;会持续更新完善。 后续会在寒假整理一些经典的例题附带题解&#xff0c;当然希望我学到的东西、总结的经验&#xff0c;能够给后来者提供一个更好的学习途径&#xff0c;从入门到精通而不再是放弃。 也欢迎读者提出…

ajax 微信code获取_获取链接的参数,判断是否是微信打开,ajax获取数据

//获取链接参数function GetQueryString(name) {var reg new RegExp("(^|&)" name "([^&]*)(&|$)");var r window.location.search.substr(1).match(reg);if (r ! null) return unescape(r[2]); return null;}function is_weixin() {var u…

[HAOI2016]食物链

题目描述 如图所示为某生态系统的食物网示意图&#xff0c;据图回答第1小题现在给你n个物种和m条能量流动关系&#xff0c;求其中的食物链条数。物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3......am-1 bm-1am bm其中ai bi表示能量从物种ai流向物种bi,注意单独的…

java学习(6):数据类型

public class Shortdata{ public static void main(String[] args){ byte by 45; short sho 32767; System.out.println(“sho的值是”sho); //获取最大值 System.out.println(Byte.MAX_VALUE); System.out.println(Short.MAX_VALUE); //获取最小值System.out.println(Byte.M…

Xcode添加pch文件

1.打开Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然后点击下一步&#xff1b; 2.如果项目名称为Demo, PCH 文件的名字为Test.pch,然后创建&#xff1b;3.选择 PCH 文件创建Test.pch文件4.找到 Project > Build …

共轭方式怎么判断_怎样判断共轭双烯

本章重点共轭二烯烃的结构,共轭二烯烃的性质及制法,共轭 效应及其相对强弱。 本章难点共轭二烯烃的结构和性质,共轭效应及其相对强弱,周 环反应及共振论的概念。 ...第六章 烯烃 共轭二烯烃 1 分类 命名 6.1.1二烯烃的分类 二烯烃包括...6-3 共轭二烯烃 一. 二烯烃的分类、命名…

java学习(7):巩固练习

//任务1 //使用记事本或其他文本编辑器编写一个java控制台程序&#xff0c;定义一个包含main方法的java类&#xff0c;在main方法中使用合适的数据类型定义如下局部变量&#xff0c;标识符要严格遵守java规范。 //学生姓名&#xff1b;学生年龄&#xff1b;学生身高&#xff0c…

js fn无法访问,不报错

GD_List.prototype.test function(){}无法访问&#xff0c;浏览器console不报错。 附带条件&#xff1a; 1.其它某些fn能访问。 2.test是放在某些fn中的。 错误原因&#xff1a;fn命名冲突&#xff08;存放test&#xff09;&#xff0c;js调用了另外一个同名fn&#xff08;没存…

unionall mysql_5分钟了解MySQL5.7union all用法的黑科技

wKiom1f8bNajxqWNAAA4eVx2Dz8965.jpgwKioL1f8bNbCZ-bgAAA4pG6yXEQ597.jpgMySQL5.7union all用法的黑科技union all在MySQL5.6下的表现Part1:MySQL5.6.25[rootHE1 ~]# mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL conn…