1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python利用有道词典翻译_使用Python从有道词典网页获取单词翻译

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

时间:2023-03-05 08:04:56

相关推荐

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

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

import re

import urllib

word=raw_input('input a word\n')

url='/search?q=%s'%word

content=urllib.urlopen(url)

pattern=pile("",re.DOTALL)

result=pattern.search(content.read()).group()

pattern2=pile('

.*?

')

for i in pattern2.findall(result):

print i.strip('

').strip('

').decode('utf-8')

再给大家分享一个命令行版的

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Date : -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 = '/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()

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。