python3使用urllib示例取googletranslate(谷歌翻译)

yipeiwu_com7年前Python基础

复制代码 代码如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File Name : gt1.py
# Purpose :
# Creation Date : 1390366260
# Last Modified : Wed 22 Jan 2014 06:14:11 PM CST
# Release By : Doom.zhou


import urllib.request
import sys

typ = sys.getfilesystemencoding()

def translate(querystr, to_l="zh", from_l="en"):
    '''for google tranlate by doom
    '''
    C_agent = {'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.165063 Safari/537.36 AppEngine-Google."}
    flag = 'class="t0">'
    tarurl = "http://translate.google.com/m?hl=%s&sl=%s&q=%s \
        " % (to_l, from_l, querystr.replace(" ", "+"))
    request = urllib.request.Request(tarurl, headers=C_agent)
    page = str(urllib.request.urlopen(request).read().decode(typ))
    target = page[page.find(flag) + len(flag):]
    target = target.split("<")[0]
    return target

print(translate("Hello world"))

相关文章

解决nohup执行python程序log文件写入不及时的问题

问题 今天用nohup后台执行python程序,并将标准输出和错误输出重定向到一个log文件,但发现log文件隔好久才会更新,很煎熬。。。然而正常屏幕输出时候非常及时。 不确定程序是不是...

python matplotlib 在指定的两个点之间连线方法

python matplotlib 在指定的两个点之间连线方法

为了找到matplotlib在两个点之间连线的方法真是费了好大功夫,最后还是决定用简单的 plt.plot 来解决。如果有好多对点,则可以通过循环实现连接,还可以用 plt.arrow...

跟老齐学Python之print详解

eval() 在print干事情之前,先看看这个东东。不是没有用,因为说不定某些时候要用到。 复制代码 代码如下: >>> help(eval)  ...

Python使用scrapy采集数据时为每个请求随机分配user-agent的方法

本文实例讲述了Python使用scrapy采集数据时为每个请求随机分配user-agent的方法。分享给大家供大家参考。具体分析如下: 通过这个方法可以每次请求更换不同的user-age...

对python文件读写的缓冲行为详解

文件的io操作的缓冲行为分为 全缓冲:同系统及磁盘块大小有关,n个字节后执行一次写入操作 行缓冲:遇到换行符执行一次写操作 无缓冲:立刻执行写操作 open()函数 help(ope...