从有道词典网页获取某单词的中文解释。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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' ) |
再给大家分享一个命令行版的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#!/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() |
以上就是本文的所有内容了,希望大家能够喜欢