0
#!/usr/bin/env python
import urllib
import mechanize
from bs4 import BeautifulSoup
from urlparse import urlparse
def getPic(search):
search = search.replace(" ","%20")
try:
browser = mechanize.Browser()
browser.set_handle_robots(False)
browser.addheaders = [('User-Agent','Mozilla')]
htmltext = browser.open("https://www.google.com/search?site=&tbm=isch&source=hp&biw=1855&bih=990&q=" + search + "&oq=" +search)
img_url = []
formatted_images = []
soup = BeautifulSoup(htmltext)
results = soup.findAll("a")
for r in results:
try:
if "imgres?imgurl" in r['href']:
img_url.append(r['href'])
except:
a=0
for im in img_url:
refer_url = urlparse(str(img_url[0]))
return refer_url.query.split("&")[0].replace("imgurl=","")
return formatted_images
except:
print "error"
print getPic("occupy wall street")
출력으로 이미지의 링크를 가져 오는 대신 출력으로 "[]"을 (를) 가져 오는 중입니다. 누군가 내 코드의 문제점을 파악할 수 있습니까?파이썬에서 Google 이미지 검색
Google은 봇을 좋아하지 않습니다. 예를 들어, 실제 브라우저는 'User-Agent : Mozilla'를 사용하지 않으며 Google은이를 알고 있습니다. 서버에서 얻은 정보를 보려면'스프 '를 출력하십시오. – furas
'for im in img_url'에서'return'을 사용하는 이유는 무엇입니까? 'formatted_images'에 무엇을 추가합니까? – furas