[Python] 파이썬을 이용한 웹 크롤링
작성:    
업데이트:
카테고리: Python Youtube
태그: BE Language, Error, Python Lang, Python Youtube, WebCrawler
README
왜 만드는가?
사랑의 장기기증운동본부 2021 언택트 걷기대회 참여 인증 인스타그램 사진 다운로드를 위해 제작하는 프로그램이다. 약 60여 명의 인원의 SNS 활동 인증 사진에 일괄 다운로드를 진행할 계획이다.
1. ChromeDriver Download
먼저 크롬 드라이버를 깔아보자. 구글에 ‘Chrome Driver’ 라고 검색해서 나오는 사이트를 클릭하면 다운로드 화면으로 바로 넘어갈 수 있다. 최신 release의 해당하는 OS 버전으로 zip 파일을 다운받으면 된다.
2. 시작 파일/폴더 구성
위의 zip 파일을 풀면, chromedriver.exe 파일을 만나게 될 수 있는데, 이를 실행할 py파일의 폴더로 옮겨준다.
만약 이미지를 다운 받을 거라면, 다운된 이미지 보관에 사용될 img 폴더도 같이 생성한다.
3. Selenium / BeautifulSoup 설치
터미널에 pip install selenium
을 입력해 Selenium을 설치한다.
마찬가지로 터미널에 pip install BeautifulSoup4
를 입력해 BeuatifulSoup을 설치한다.
4. 작업과정
가. 파이썬 import
아래의 코드를 입력한다. pip와 라이브러리를 작업 파일.py에 import하는 역할을 한다. 기능을 사용할 수 있게 해주는 것.
from urllib.request import urlopen
from urllib.parse import quote_plus
from bs4 import BeautifulSoup
from selenium import webdriver
import time
왜 BeautifulSoup만 사용하지 않고, Selenium을 사용하는가.
인스타그램의 소스 코드를 확인해보면 JavaScript로만 되어있다. 이는 이미지를 한 번에 불러오는 것이 아니라 페이지 스크롤에 따라 추가적으로 불러오는 구조이기 때문에 태그를 검색해 이미지를 한 번에 긁어오는 오늘의 목적에는 어울리지 않는다. 그래서 Selenium을 사용한다.
에러의 발생
위의 pip를 import하는 과정에서 에러가 발생하였고, 오랜 시간 해결하지 못해 자칫 이 프로젝트를 포기하게 될 수도 있는 상황이 생겼다. 하지만 에러를 해결하였고, 이 문제를 해결하는 과정을 새롭게 게시물로 다루었다.
댓글남기기