推广 热搜: 公司  快速  上海  中国  未来    企业  政策  教师  系统 

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

   日期:2024-11-19     作者:xinet    caijiyuan   评论:0    移动:http://dfvalve.xrbh.cn/mobile/news/10301.html
核心提示:# -*- coding: gbk -*-import mechanizefrom BeautifulSoup import BeautifulSoupimport cookielib,reimport base64,zlibimport

# -*- coding: gbk -*-

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

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()

本文地址:http://dfvalve.xrbh.cn/news/10301.html    迅博思语资讯 http://dfvalve.xrbh.cn/ , 查看更多
 
标签: 图片搜索 谷歌
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号