Created
April 27, 2019 11:10
-
-
Save dobestan/99c3289280b99a3fbf94d1f0b4464054 to your computer and use it in GitHub Desktop.
구글맵 이미지 추출하기
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# coding: utf-8 | |
# In[ ]: | |
import requests | |
import pandas as pd | |
from selenium import webdriver | |
import shutil | |
# In[ ]: | |
# * URL 입력 | |
# 이미지가 나오는 구글맵 사이트만 현재 적용 가능 | |
url = "https://www.google.com/maps/uv?hl=ko&pb=!1s0x60188cdba56b3bf7%3A0x8b741cc73341edb5!2m22!2m2!1i80!2i80!3m1!2i20!16m16!1b1!2m2!1m1!1e1!2m2!1m1!1e3!2m2!1m1!1e5!2m2!1m1!1e4!2m2!1m1!1e6!3m1!7e115!4shttps%3A%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipNCvANVkKmIotlrd9rtQLB0YHh4tX8b9Ef3a8p9%3Dw355-h200-k-no!5z7J207IS47YOE67Cx7ZmU7KCQIC0gR29vZ2xlIOqygOyDiQ!15sCAQ&imagekey=!1e10!2sAF1QipNCvANVkKmIotlrd9rtQLB0YHh4tX8b9Ef3a8p9&sa=X&ved=2ahUKEwid1oj_gfDhAhWKHqYKHV--DAMQoiowCnoECA8QBg" | |
# In[ ]: | |
# Chrome 브라우저랑 연동하기 위해서 chromedriver 설치 필요 | |
# chromedriver 를 다운로드 이후, 아래의 링크 변경하기 | |
driver = webdriver.Chrome("/Users/dobestan/Downloads/chromedriver") | |
# In[ ]: | |
# 구글맵 사이트 접속 | |
driver.get(url) | |
# In[ ]: | |
# Image Element 로 부터 URL 추출하기 | |
# url = image_element.get_attribute("style").split('\"')[-2] | |
def parse_url_from_image_element(image_element): | |
try: | |
url = image_element.get_attribute("style").split('\"')[-2] | |
return url | |
except: | |
return None | |
# In[ ]: | |
# 구글맵 사이트로부터 이미지 URL 추출하기 | |
image_elements = driver.find_elements_by_css_selector(".gallery-image-high-res") | |
urls = [ | |
parse_url_from_image_element(image_element) | |
for image_element | |
in image_elements | |
] | |
urls = [url for url in urls if url] | |
# In[ ]: | |
# 이미지 다운로드 함수 | |
def download_image(url, destination): | |
response = requests.get(url, stream=True) | |
with open(destination, "wb") as image_file: | |
shutil.copyfileobj(response.raw, image_file) | |
image_url = "https://lh5.googleusercontent.com/p/AF1QipOLRCKL8yn5MVAU2J0Lv66ygIvnxZQvS2TtaF3u=s1354-k-no" | |
# download_image(image_url, "./sample.jpg") | |
# !open ./sample.jpg | |
# In[ ]: | |
# 다운로드 폴더 생성하기 | |
import os | |
os.makedirs("./다낭") | |
# In[ ]: | |
# 특정 폴더에 모든 이미지 저장하기 | |
for i in range(len(urls)): | |
url = urls[i] | |
filename = "./다낭/image_" + str(i) + ".jpg" | |
download_image( | |
url, | |
filename, | |
) | |
print("Download " + filename) | |
# In[ ]: | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment