python如何调用谷歌搜图api_python爬虫抓去google图片搜索结果的图片

# -*- coding: gbk -*-

import mechanize

from BeautifulSoup import BeautifulSoup

import cookielib,re

import base64,zlib

import Image,StringIO

# Browser

br = mechanize.Browser()

# Cookie Jar

cj = cookielib.LWPCookieJar()

br.set_cookiejar(cj)

# Browser options

br.set_handle_equiv(True)

br.set_handle_gzip(True)

br.set_handle_redirect(True)

br.set_handle_referer(True)

br.set_handle_robots(False)

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/4.0.0')]

br.open("http://www.google.com.hk/search?um=1&newwindow=1&safe=strict&hl=zh-CN&biw=1920&bih=473&tbm=isch&sa=1&q=car&btnG=")

html = br.response().read()

content = BeautifulSoup(html).findAll('script')

pattern = re.compile(r"(?&lt=data:image/jpeg;base64,).*(?=';)")

count=0

for item in content:

#print item

match = pattern.search(str(item))

if match:

dataStr = match.group()

dataStr = dataStr.replace(r'\x3d','=') #这行代码是关键,折腾了我大半天。网页里的base64编码,在不是4的倍数时,会用“\x3d”补足,要替换为=;(0x3d即为=的Ascii码值)

bin = StringIO.StringIO(dataStr)

bout=open('d:\\out\\data%d.jpeg'%count,'wb')

base64.decode(bin,bout)

bout.close()

count +=1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值