网站推广工具推荐,济阳做网站,东莞智通人才网招聘信息网,ueditor wordpress 插件linux的字典本人实在用起来不舒服#xff08;stardict挺不错的#xff0c;但是界面好看些#xff0c;功能简单易用就好了#xff09;
#xff0c;在线翻译又得打开庞大的浏览器....就打算自己写个#xff0c;但是时间有限#xff0c;为了简单#xff0c;
还是用python抓…linux的字典本人实在用起来不舒服stardict挺不错的但是界面好看些功能简单易用就好了
在线翻译又得打开庞大的浏览器....就打算自己写个但是时间有限为了简单
还是用python抓取网页来的快些。本人用的必应字典。
获取某个单词解释url是
http://cn.bing.com/dict/search?qwordgoqsbsformCMmktzh-CNsetlangZH
其中的红色word即是要翻译“word”单词。
代码如下dic.pypython使用的是2.7.5版本
1 #!/usr/bin/python
2 importurllib2,sys3 from HTMLParser importHTMLParser4 from htmlentitydefs importname2codepoint5
6 classMyHTMLParser(HTMLParser): #解析html7 def __init__(self):8 HTMLParser.__init__(self)9 self.tFalse10 self.trans[]11 self.prFalse12 defhandle_starttag(self, tag, attrs):13 if tagdiv:14 for attr inattrs:15 if attr(class,hd_prUS) or\16 attr(class,hd_pr):17 self.prTrue18 if tagspan:19 for attr inattrs:20 if attr(class,def):21 self.tTrue22 defhandle_data(self, data):23 ifself.t:24 self.trans.append(data)25 self.tFalse26 ifself.pr:27 printdata28 self.prFalse29 defgetTrans(self):30 returnself.trans31 classtrans:32 _URLhttp://cn.bing.com/dict/search
33 def __init__(self):34 self.urltrans._URL?q%sgoqsbsformCMmktzh-CNsetlangZH
35 self.htmlNone36 defgetHtml(self,word): #获取单词翻译的网页37 self.urlself.url %word38 print word,:
39 req urllib2.Request(self.url)40 fdurllib2.urlopen(req)41 self.htmlfd.read()42 self.htmlunicode(self.html,utf-8)43 fd.close()44
45 defparseHtml(self): #解析调用46 parser MyHTMLParser()47 self.htmlparser.unescape(self.html)48 parser.feed(self.html)49 sparser.getTrans()50 t1
51 for i ins:52 print t,.,i53 t1
54
55 if __name____main__:56 ttrans()57 t.getHtml(sys.argv[1])58 t.parseHtml()59
终端操作
05:07:~/workspace$ ./dic.py action
action :
美 [ˈækʃ(ə)n]
英 [ˈækʃ(ə)n]1. 行动行为诉讼战斗2. 务必做3 . 动作操作作用
终端用起来也不甚方便有时间把代码搬进图形程序中.....pyQt还是kivy等图形库
用过pyQt抽时间看看吧。
本人的注释是写博客后来加上去的可以直接删了或者添加# -*- coding: utf-8 -*-
对于html的解析另一个不错的模块库是BeautifulSoup解析相当给力。但是需要自己安装
这个库。和上面代码功能一样但是使用BeautifulSoup解析的。代码如下1 #!/usr/bin/python
2 importurllib2,sys3 from BeautifulSoup importBeautifulSoup4 classMyHTMLParser:5 def __init__(self):6 self.trans[]7 self.usNone8 self.ukNone9 self.defineTrue10 deffeed(self,html):11 parsed_htmlBeautifulSoup(html)12 self.usparsed_html.find(div,{class:hd_prUS}).text13 self.ukparsed_html.find(div,{class:hd_pr}).text14 self.usself.us.replace( , )15 self.ukself.uk.replace( , )16 print self.us,,,self.uk17 self.defineparsed_html.findAll(span,{class:def})18 for t inself.define:19 self.trans.append(t.text)20 defgetTrans(self):21 returnself.trans22 classtrans:23 _URLhttp://cn.bing.com/dict/search
24 def __init__(self):25 self.urltrans._URL?q%sgoqsbsformCMmktzh-CNsetlangZH
26 self.htmlNone27 defgetHtml(self,word):28 self.urlself.url %word29 print word,:
30 req urllib2.Request(self.url)31 fdurllib2.urlopen(req)32 self.htmlfd.read()33 fd.close()34
35 defparseHtml(self):36 parser MyHTMLParser()37 parser.feed(self.html)38 sparser.getTrans()39 t1
40 for i ins:41 print t,.,i42 t1
43
44 if __name____main__:45 ttrans()46 t.getHtml(sys.argv[1])47 t.parseHtml()
View Code