본문 바로가기

모바일환경코딩/python

[웹크롤링 따라하기] 구름ide에서 python가상환경 selenium모듈로 이미지크롤링 따라하기 - 2

반응형

이제 경로 나오는걸 확인했으니 직접 다운로드를 해 보고 실행되는지 확인해 봅시다. 경로가 다 나온게 아니더군요.. 그래서 sleep을 걸어주어 이미지가 뜨기를 기다렸다가 경로를 가져와 봅니다.

sleep을 걸기위해 상단에 import time 을 입력하여 time을 사용하겠다고 선언 합니다. 

그리고 작은 이미지를 클릭 후 3초를 기다리는 구문을 입력합니다. sleep(3)를 입력하고 터미널에 python google.py를 입력하여 경로를 잘 가져오는지 확인합니다.

실행결과

경로를 잘 가져 왔으니 이제 본격적으로 이미지를 다운로드 해 봅시다. 우선 구글링! 이건 필수죠. 모든 정보가 다 있죠. 가끔 없지만.. 

검색창에 [python download image by url] 를 입력하고검색합니다. 

python download image by url

 

stack overflow에 내용이 있는듯 하네요. 들어가서 하나 복사해서 가져 옵니다. 복붙만 잘 하면 됩니다!

붙여넣고 간단하게 실행해 봅니다. 

이미지 다운로드 코드 입력
이미지 다운로드 결과

import urllib.request

#위의 import는 urllib.request 를 사용하겠다고 선언하는 것이다. 이 안에 이미지를 다운로드하는 부분이 구현되어 있는데, 안에 상세내용 보다는 어떻게 동작하는지만 알고 사용하면 된다.


imgURL = "download image site url"

#다운로드할 이미지의 경로를 넣는 부분이다. url가져오는 부분을 "download image site url"에 넣는다.

imgURL =  driver.find_element_by_css_selector(".n3VNCb").get_attribute("src")

 

urllib.request.urlretrieve(imgURL, "download image directory")

#이 부분이 이미지를 다운로드 하는 부분이다. download image directory는 이미지를 다운로드할 경로를 입력한다. 별도의 경로를 만들어서 넣을 수 있다. 

./img 는 이미지가 저장될 위치이다. 점(.)을 넣은 이유는 현제 경로부터 라고 이해하면 편할 것이다.

imgPath = "./img/_01.jpg"

urllib.request.urlretrieve(imgURL, imgPath)

 

파일이 다운로드 잘 되어 있고 실행도 잘 된다. 두먼터치하면 실행되는데, 이미지는 저작권이 있을 수 있으니 첨부하지는 않겠다.

 

여러 이미지를 받기 위해 반복문으로 만들어 보겠다.

[구문설명]

#이미지들의 경로를 가져오는 부분을 imgs라는 변수에 넣는다.

imgs = driver.find_elements_by_css_selector(".rg_i.Q4LuWd")

 

#imgs에 있는 이미지들의 경로를 img라는 변수에 하나씩 담아서 풀어낸다.

for img in imgs:

 

#[0].click()을 img.click()으로 변경하여 하나씩 가져 오도록 한다.

img.click()

 

이제 이미지명도 여러개니까 이름이 숫자로 증가하도록 만들겠다.

cnt라는 변수에 숫자가 증가하도록 하겠다. 처음에는 1을 넣고 이미지를 다운로드하면 숫자가 1씩 증가하도록 하겠다.

cnt = 1

cnt = cnt + 1

 

이미지다운로드 할 이미지명을 cnt로 해 준다. 그런데, 숫자형 이기 때문에 str로 문자로 변경해 준다.

imgPath = "./img/" + str(cnt) + ".jpg"

 

다 변경했으니 실행해 보자!

 

터미널에 python google.py명령을 입력하면 결과가 나온다. 10장 밖에 못 가져왔다.. 

 

터미널의 오류를 보니, session이 종료 된걸로 나온다.

 

이미지 다운로드 까지 되는걸 확인했다. session문제는 다시한번 찾아봐야겠다.

 

[다음편]

2020/12/02 - [모바일환경코딩/python] - [모바일환경에서 코딩 따라하기] python가상환경 설정 및 실행해 보기

 

[모바일환경에서 코딩 따라하기] python가상환경 설정 및 실행해 보기

본인은 코더 이지만, 집에가면 pc를 켤 수 없기에 좌절하고 있었다. 요즘 유행하는 python을 한번 배워보고 직접 해 보고 싶지만, 모바일에서는 한계가 있었다. 툴을깔고 환경설정응 해 주어야 하

yoocodec.tistory.com

 

[환경설정]

2020/12/08 - [모바일환경코딩/python] - [모바일환경 코딩] - 구름ide이용하여 selenium 설치 및 chrome설치

 

[모바일환경 코딩] - 구름ide이용하여 selenium 설치 및 chrome설치

구름ide로 웹 크롤링을 따라하려다 걸림돌이 생겼다. 크롬 드라이버를 설치하고 실행해야 하는데, pc가 아니라 chrome의 버전이 따로 없었다. 다행히 조코딩님의 채널에 관련 링크가 있어서 설치가

yoocodec.tistory.com