2 Comments 作者:小项-怪物猪 分类:Python

这个是在前面的一个翻译基础上增加了一些功能

学习中的知识点:  利用os.system 执行系统命令

从而也了解到ubuntu系统的一个朗读命令  espeak 需要朗读的单词 And 句子

同时也发现一个问题. 执行命令的时候 朗读完成以后才显示翻译结果.

不知道具体怎么解决.那个朋友如果有解决办法给我留个言谢谢了.


Python代码

  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3.   
  4. # 使用httplib进行post数据  
  5.   
  6. import httplib, urllib; #加载web通讯类模块  
  7. import sys,getopt; #加载获取命令行参数模块  
  8. import os; #加载这个是为了使用系统自带的espeak的朗读功能  使用方法 os.system("")  
  9.   
  10. opts,argv = getopt.getopt(sys.argv[1:],'',['']); #获取命令行参数  
  11. c = " ";  
  12. argv = c.join(argv); #对参数进行整合  
  13. print "翻译",argv,"==>",;  
  14. params = urllib.urlencode({'sl':'zh-CN',  
  15.                            'tl':'en',  
  16.                            'text':argv,  
  17.                            'client':'t'}); #进行GET or POST的参数列表  
  18. headers = {"User-Agent""Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html)"#输出标头  
  19. conn = httplib.HTTPConnection("translate.google.cn"); #创建一个特定连接  
  20. conn.request("GET","/translate_a/t?" + params,headers=headers);  #发送数据请求  
  21. data = conn.getresponse();  #返回得到的数据结果  
  22. data1 = data.read(); # 读取返回结果  
  23. conn.close(); #关闭连接  
  24. print data1;  
  25. os.system('espeak "%s"' % data1); #并进行朗读  

1 Comment 作者:小项-怪物猪 分类:Python

Python的模块  httplib 利用post进行表单数据提交.{用以实现自动发布这个功能,前提是不需要登录的情况;登录的情况还需要研究,暂时没搞定呢}

学习知识点:

  httplib request的用法
  getresponse() 用以进行返回数据

看下面的列子:



  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3.   
  4. # 进行表单提交  小项  2008-10-09  
  5.   
  6. import httplib,urllib;  #加载模块  
  7.   
  8. #定义需要进行发送的数据  
  9. params = urllib.urlencode({'cat_id':'6',  
  10.                            'news_title':'标题-Test39875',  
  11.                            'news_author':'Mobedu',  
  12.                            'news_ahome':'来源',  
  13.                            'tjuser':'carchanging',  
  14.                            'news_keyword':'|',  
  15.                            'news_content':'测试-Content',  
  16.                            'action':'newnew',  
  17.                            'MM_insert':'true'});  
  18. #定义一些文件头  
  19. headers = {"Content-Type":"application/x-www-form-urlencoded",  
  20.            "Connection":"Keep-Alive","Referer":"http://192.168.1.212/newsadd.asp?action=newnew"};  
  21. #与网站构建一个连接  
  22. conn = httplib.HTTPConnection("192.168.1.212");  
  23. #开始进行数据提交   同时也可以使用get进行  
  24. conn.request(method="POST",url="/newsadd.asp?action=newnew",body=params,headers=headers);  
  25. #返回处理后的数据  
  26. response = conn.getresponse();  
  27. #判断是否提交成功  
  28. if response.status == 302:  
  29.     print "发布成功!^_^!";  
  30. else:  
  31.     print "发布失败\^0^/";  
  32. #关闭连接  
  33. conn.close();  

 

3 Comments 作者:小项-怪物猪 分类:Python

利用google 翻译写的python命令行翻译脚本

使用方法:请看下面的评论

学习知识点:    利用httplib 进行数据提交,并返回结果
复          习:    利用对jion split 进行 列表 字符串整理.

代码请看全文:


python代码

  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3.   
  4. # 使用httplib进行post数据  
  5.   
  6. import httplib, urllib; #加载web通讯类模块  
  7. import sys,getopt; #加载获取命令行参数模块  
  8.   
  9. opts,argv = getopt.getopt(sys.argv[1:],'',['']); #获取命令行参数  
  10. c = " ";  
  11. argv = c.join(argv); #对参数进行整合 split 是对数据进行拆分  
  12. print "你输入的是:",argv;  
  13. params = urllib.urlencode({'sl':'en',  
  14.                            'tl':'zh-CN',  
  15.                            'text':argv,  
  16.                            'client':'t'}); #进行GET or POST的参数列表  
  17. headers = {"User-Agent""Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html)"#输出标头  
  18. conn = httplib.HTTPConnection("translate.google.cn"); #创建一个特定连接  
  19. conn.request("GET","/translate_a/t?" + params,headers=headers);  #发送数据请求  
  20. data = conn.getresponse();  #返回得到的数据结果  
  21. data1 = data.read(); # 读取返回结果  
  22. conn.close(); #关闭连接  
  23. print "翻译结果为:",data1; #输出翻译结果