首页 > 编程语言 > 详细

python网络爬虫入门(二)——用python简单实现调用谷歌翻译

时间:2014-08-03 20:39:45      阅读:504      评论:0      收藏:0      [点我收藏+]

最近在看国外的文档,有些生词不认识。就用谷歌翻译来理解,用着用着闲来无事就按F12查看了下页面的源代码。发现可以用python简单的实现下谷歌翻译的页面功能。于是先上网搜下有没有类似的文章博客,发现几篇不错的,于是参考其他代码与自己的思路,简单的实现了下翻译的功能,代码如下:

import re  
import urllib,urllib2  
 
#----------模拟浏览器的行为,向谷歌翻译发送数据,然后抓取翻译结果,这就是大概的思路-------
def Gtranslate(text):  

    #text 输入要翻译的英文句子  
    Gtext=text

    #hl:浏览器、操作系统语言,默认是zh-CN
    #ie:默认是UTF-8
    #text:就是要翻译的字符串
    #langpair:语言对,即'en'|'zh-CN'表示从英语到简体中文  
    values={'hl':'zh-CN','ie':'UTF-8','text':Gtext,'langpair':"'en'|'zh-CN'"}  
    #URL用来存储谷歌翻译的网址
    url='http://translate.google.cn/'  
    #将values中的数据通过urllib.urlencode转义为URL专用的格式然后赋给data存储
    data = urllib.urlencode(values)
    #然后用URL和data生成一个request
    req = urllib2.Request(url,data)
    #伪装一个IE6.0浏览器访问,如果不伪装,谷歌将返回一个403错误
    browser='Mozilla/4.0 (Windows; U;MSIE 6.0; Windows NT 6.1; SV1; .NET CLR 2.0.50727)'  
    req.add_header('User-Agent',browser)  

    #向谷歌翻译发送请求  
    response = urllib2.urlopen(req)

    #读取返回页面,然后我们就从这个HTML页面中截取翻译过来的字符串即可
    html=response.read()

    #使用正则表达式匹配<=TRANSLATED_TEXT=)。而翻译后的文本是'TRANSLATED_TEXT='等号后面的内容
    p=re.compile(r"(?<=TRANSLATED_TEXT=).*?;")  
    m=p.search(html)  
    chineseText=m.group(0).strip(';')  
    return chineseText 
  
if __name__ == "__main__":   
    #Gtext为待翻译的字符串 
    Gtext='you should believe yourself,you are the best one! and we sure that you will do something making us being proud of you'  
    print('The input text: %s' % Gtext)  
    chineseText=Gtranslate(Gtext).strip("'")  
    print('Translated End,The output text: %s' % chineseText)
在IDLEz中运行后:

bubuko.com,布布扣

python网络爬虫入门(二)——用python简单实现调用谷歌翻译,布布扣,bubuko.com

python网络爬虫入门(二)——用python简单实现调用谷歌翻译

原文:http://blog.csdn.net/u013289188/article/details/38360477

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!