我正在尝试从Google
Image搜索中获取特定查询的图像.但我下载的页面没有图片,它将我重定向到谷歌的原始页面.这是我的代码:
AGENT_ID = "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" GOOGLE_URL = "https://www.google.com/images?source=hp&q={0}" _myGooglePage = "" def scrape(self,theQuery) : self._myGooglePage = subprocess.check_output(["curl","-L","-A",self.AGENT_ID,self.GOOGLE_URL.format(urllib.quote(theQuery))],stderr=subprocess.STDOUT) print self.GOOGLE_URL.format(urllib.quote(theQuery)) print self._myGooglePage f = open('./../../googleimages.html','w') f.write(self._myGooglePage)
我究竟做错了什么?
谢谢
解决方法
我会给你一个提示……从这里开始:
https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=JULIE%20NEWMAR
JULIE和NEWMAR是您的搜索字词.
那将返回你需要的json数据……你需要使用json.load或simplejson.load解析它以获取dict …然后潜入它以找到responseData,然后是结果列表包含您将要下载其网址的各个项目.
虽然我没有建议以任何方式自动抓取谷歌,因为他们的(deprecated) API特别说不.