Linux环境下的Python翻译工具源码,linuxpython,编橙之家Python教程
Linux环境下的Python翻译工具源码,linuxpython,编橙之家Python教程
编橙之家Python教程源码示例,本文源码是用于Linux环境下的Python翻译工具源码详解。
学习计算机编程语言一定会涉及到英文和学习应用,但通常英语词典在Linux环境下都不如Win环境下的好用。所以为了方便自己使用,作者花了些时间用python写了个翻译工具。
程序员的编程工作大都在Linux环境下和vim编辑器,基于以上两点出发,开始写代码喽!
使用Python语言编写完成的翻译工具,需要用到urllib和BeautifulSoup 类库。
urllib:主要负责网络通讯方面;
BeautifulSoup:负责HTML的解析。
这也是Python语言生态圈的强大之处,有了这两个得力的"助手"写个这样的python翻译工具,毫不费力!
简单的来说下用于Linux环境下的Python翻译工具的原理:获取根据用户输入的单词——提交给百度词典——读取百度词典的翻译——返回的数据并解析——最后将处理过的数据显示出来。如果有能力也可以把Python代码适当的改写一下,把百度翻译换成有道翻译也是可以的。
以下是该Python翻译工具的具体代码
import urllib import codecs from BeautifulSoup import BeautifulSoup from sys import argv import re,time class Translate: def Start(self): self._get_html_sourse() self._get_content("enc") self._remove_tag() self.print_result() def _get_html_sourse(self): word=argv[1] if len(argv)>1 else '' url="http://dict.baidu.com/s?wd=%s&tn=dict" % word self.htmlsourse=unicode(urllib.urlopen(url).read(),"gb2312","ignore").encode("utf-8","ignore") def _get_content(self,div_id): soup=BeautifulSoup("".join(self.htmlsourse)) self.data=str(soup.find("div",{"id":div_id})) def _remove_tag(self): soup=BeautifulSoup(self.data) self.outtext=''.join([element for element in soup.recursiveChildGenerator() if isinstance(element,unicode)]) def print_result(self): for item in range(1,10): self.outtext=self.outtext.replace(str(item),"\n%s" % str(item)) self.outtext=self.outtext.replace(" ","\n") print self.outtext if __name__=="__main__": Translate().Start()
Linux环境下的Python翻译工具源码,第二部分:
import urllib import codecs from BeautifulSoup import BeautifulSoup from sys import argv import re,time class Translate: def Start(self): self._get_html_sourse() self._get_content("enc") self._remove_tag() self.print_result() def _get_html_sourse(self): word=argv[1] if len(argv)>1 else '' url="http://dict.baidu.com/s?wd=%s&tn=dict" % word self.htmlsourse=unicode(urllib.urlopen(url).read(),"gb2312","ignore").encode("utf-8","ignore") def _get_content(self,div_id): soup=BeautifulSoup("".join(self.htmlsourse)) self.data=str(soup.find("div",{"id":div_id})) def _remove_tag(self): soup=BeautifulSoup(self.data) self.outtext=''.join([element for element in soup.recursi2000veChildGenerator() if isinstance(element,unicode)]) def print_result(self): for item in range(1,10): self.outtext=self.outtext.replace(str(item),"\n%s" % str(item)) self.outtext=self.outtext.replace(" ","\n") print self.outtext if __name__=="__main__": Translate().Start()
编橙之家文章,
相关内容
- Python实时监控Linux cpu使用率实现方法,pythonlinux,Python监
- 用python遍历方法统计linux内核文件的行数示例,,用pyt
- python statvfs方法获知磁盘的空间量,pythonstatvfs,python s
- python监控用户登陆并发送通知邮件方法,python用户登陆
- Python迅雷快车旋风地址加密解密,python加密解密,Pytho
- Windows环境用Python备份MySQL脚本,python备份mysql脚本,Win
- Python批量删除windows下svn文件夹的方法,pythonsvn,本文为
- 使用Python xlrd模块读取Excel格式文件的方法,pythonxlrd,这
- 用Python编写渗透用小脚本 短小实用,python编写渗透脚本
- linux下搜索文件的python方法,linuxpython,linux下如何用py
评论关闭