玩蛇网提供最新Python编程技术信息以及Python资源下载!
python零基础培训

Linux环境下的Python翻译工具源码

python 培训

玩蛇网Python教程源码示例,本文源码是用于Linux环境下的Python翻译工具源码详解。
学习计算机编程语言一定会涉及到英文和学习应用,但通常英语词典在Linux环境下都不如Win环境下的好用。所以为了方便自己使用,作者花了些时间用python写了个翻译工具。

程序员的编程工作大都在Linux环境下和vim编辑器,基于以上两点出发,开始写代码喽!

Python Linux环境翻译工具

使用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.recursi
2000
veChildGenerator() 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基础入门教程

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/code/linux/l2552.html [复制]



微信扫描下图可直接关注Python公众号

玩蛇网Python QQ群,欢迎加入: ① 279974227 玩蛇网Python新手群
修订日期:2016年12月27日 - 17时27分55秒 发布自玩蛇网

上一篇:Python实时监控Linux cpu使用率实现方法
下一篇:没有了
我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
站长推荐:
去顶部去底部