Я пытался проанализировать HTML результата поиска изображений Google и получить исходную ссылку на изображения.
До сих пор мне удавалось написать код Python для получения HTML-кода поиска Google с помощью Python Mechanize и BeautifulSoup.
Глядя на источник HTML результатов поиска Google, я обнаружил, что Google хранит двойное кодирование URL-адреса исходного изображения в div с классом rg_meta
, но HTML, который я получаю от Mechanize, не содержит такого класса. Фактически вся новая веб-страница возвращается через Mechanize.
Я знаю об API-интерфейсах поиска изображений Google, но мне нужно анализировать HTML таким образом. Что я делаю неправильно? Могу ли я замаскировать Mechanize как Chrome или другой браузер?
Это фрагмент того, что я пытался. Ничего не возвращает:
import urllib
import mechanize
from bs4 import BeautifulSoup
from urlparse import urlparse
search = "cars"
browser = mechanize.Browser()
browser.set_proxies({"https": "10.0.2.88:3128"})
browser.set_handle_robots(False)
browser.addheaders = [('User-agent','Mozilla')]
html = browser.open("https://www.google.co.in/search?&source=lnms&tbm=isch&sa=X&q="+search+"&oq="+search)
htmltext=html.read()
print htmltext
img_urls = []
formatted_images = []
soup = BeautifulSoup(htmltext)
#results = soup.findAll("a")
results = soup.findAll("div", { "class" : "rg_meta" })
print results
pattern.web
clips.ua.ac.be/pages/pattern- веб-сервисы - person PepperoniPizza   schedule 27.12.2013