Google обратный поиск изображений с помощью запроса POST
У меня есть приложение, которое в основном представляет собой базу данных изображений, хранящихся на моем локальном диске. Иногда мне нужно найти версию с более высоким разрешением или веб-источник изображения, и Googleобратный поиск изображений идеально подходит для этого.
К сожалению, у Google нет API для этого, поэтому мне пришлось искать способ сделать это вручную. Прямо сейчас я использую Selenium, но у этого явно много накладных расходов. Я хотел бы получить простое решение с использованием urllib2 или чего-то подобного - отправить запрос POST, получить URL-адрес поиска, а затем я могу просто передать этот URL-адресwebbrowser.open(url)
загрузить его в мой уже открытый системный браузер.
Вот что я сейчас использую:
gotUrl = QtCore.pyqtSignal(str)
filePath = "/mnt/Images/test.png"
browser = webdriver.Firefox()
browser.get('http://www.google.hr/imghp')
# Click "Search by image" icon
elem = browser.find_element_by_class_name('gsst_a')
elem.click()
# Switch from "Paste image URL" to "Upload an image"
browser.execute_script("google.qb.ti(true);return false")
# Set the path of the local file and submit
elem = browser.find_element_by_id("qbfile")
elem.send_keys(filePath)
# Get the resulting URL and make sure it's displayed in English
browser.get(browser.current_url+"&hl=en")
try:
# If there are multiple image sizes, we want the URL for the "All sizes" page
elem = browser.find_element_by_link_text("All sizes")
elem.click()
gotUrl.emit(browser.current_url)
except:
gotUrl.emit(browser.current_url)
browser.quit()