일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 우분투 파이썬
- Android
- prisma
- Apollo GraphQL
- 자바기초
- Apollo Server
- PYTHON
- graphQL
- ubuntu python
- java
- Kotlin
- 안드로이드 디자인패턴
- unit test
- 파이썬 크롤링
- mvvm
- Nexus GraphQL
- Design Pattern
- Data structure
- MVVM pattern
- 자바
- 유니티
- 안드로이드
- LinkedList
- 안드로이드 mvp
- Dependency Injection
- 안드로이드 테스트
- 웹크롤링
- flutter
- dagger-hilt
- Android test
- Today
- Total
Hun's Blog
[Python] 웹 크롤링 9 - 네이버 이미지 수집하기 본문
참고
파이썬 레시피 - 웹 활용 승급편을 공부하면서 정리한 내용
# Application 소개
# 네이버 사이트 이미지 탭을 이용하여, 검색한 키워드와 관려된 사진을 수집한다.
# 다운받은 사진들을 압축파일로 변환한다.
# 키워드 검색 자동화 -> 이미지 다운로드 -> 폴더생성
# tqdm 설치 - 텐서플로우 진행상태 표시하는 툴
# sudo pip3 install tqdm
#사이트 접속 -> 키워드 검색
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from tqdm import tqdm
keyword = '드웨인존슨'
# 1. 웹 접속 - 네이버 이미지 접속
print('Loading...')
driver = webdriver.Chrome('chromedriver')
driver.implicitly_wait(30)
url = 'https://search.naver.com/search.naver?where=image&sm=tab_jum&query={}'.format(keyword)
driver.get(url)
# 1.5 페이지 스크롤 다운 - 페이지를 스크롤 하여 더 많은 사진을 수집한다.
# -> 1초에 한번씩 10번 반복하여 페이지 다운 스크롤을 한다.
body = driver.find_element_by_css_selector('body')
for i in range(10):
body.send_keys(Keys.PAGE_DOWN)
time.sleep(1)
# 2. 이미지 링크 수집
imgs = driver.find_elements_by_css_selector('img._img')
result = []
for img in imgs:
if 'http' in img.get_attribute('src'):
result.append(img.get_attribute('src'))
#print(result)
driver.close()
print('Colloections complete!')
# 3. 폴더생성
import os
if not os.path.isdir('./{}'.format(keyword)):
os.mkdir('./{}'.format(keyword))
print('Create new directory!')
else :
print('Image updates!')
#4. 이미지 순서대로 다운로드
from urllib.request import urlretrieve
for index, link in tqdm(enumerate(result)):
start = link.rfind('.')
end = link.rfind('&')
#print(link[start:end])
filetype = link[start:end] #.png
urlretrieve(link, './{}/{}{}{}'.format(keyword,keyword,index,filetype))
print('Download complete!')
'Language > Python' 카테고리의 다른 글
[Python] 파이썬으로 Singleton 패턴 구현하기 (1) | 2020.04.06 |
---|---|
[Python] 웹 크롤링 10 - 네이버 뉴스 댓글 수집하기 (0) | 2020.04.06 |
[Python] 웹 크롤링 8 - 트위치 클립 다운로드 (0) | 2020.04.06 |
[Python] 웹 크롤링 7 - 색감테스트 봇 구현 (0) | 2020.04.06 |
[Python] 웹 크롤링 6 - 1 to 50 봇 (0) | 2020.04.06 |