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

最近在看国外的文档,有些生词不认识。就用谷歌翻译来理解,用着用着闲来无事就按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中运行后:



python网络爬虫入门(二)——用python简单实现调用谷歌翻译,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。