반응형
구글 Colab 기반 환경에서 실습을 진행했다.
구글 Colab은 내 컴퓨터가 아닌 클라우드 컴퓨터에서 동작하는 방식이므로,
Selenium을 사용할 시 웹브라우저가 하나 뜨는게 보여지지 않는다.
그래도 결과적으로 크롤링은 할 수 있다.
우선 Selenium과 크롬 드라이버를 다운로드해주고, 경로를 조정해준다.
#이 부분은 처음 한번만 실행하면 됌.
!pip install selenium
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
우리가 이번에 실습으로 가져올 데이터는
여기 로그인 박스 아래 네모박스 영역이다. 이 부분은 계속해서 실시간으로 스와이핑되면서 데이터가 바뀌게 된다.
그러므로 실행 결과도 계속 다양한 데이터를 가져오게 될 것이다.
이 부분을 어떻게 구하느냐?
크롬을 켜서 네이버에 접속한 뒤, 개발자 도구를 켠다.
그리고 마우스 트래킹 기능을 사용해서 저 부분에 마우스를 올려서 클릭하거나, 또는 해당 태그를 직접 코드에서 찾은 다음
코드에서 마우스 오른쪽 버튼 -> copy -> Copy selector 를 이용해서 css 값을 copy해준다.
# -*- coding: UTF-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
#Colab에선 웹브라우저 창이 뜨지 않으므로 별도 설정한다.
options = webdriver.ChromeOptions()
options.add_argument('--headless') # Head-less 설정
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver', options=options)
#해당 url로 이동
url = "https://www.naver.com/"
driver.get(url)
update = driver.find_element(By.CSS_SELECTOR, '#NM_TS_ROLLING_WRAP > div > div')
print(update.text)
그리고 driver.find_element(By.CSS_SELECTOR, '여기')
에다가 넣어주면 끝난다.
말했듯 시간이 지나면서 자꾸 스와이핑 되는 부분이므로, 실행할 때 마다 출력값이 계속 바뀌는 것을 확인할 수 있다.
다른 부분을 크롤링 하고 싶으면, 또 다른 태그를 찾아서 해당 태그로 바꿔주기만 하면 끝이다.
참고
https://www.youtube.com/watch?v=sySrQ6k7zbc&t=195s
https://pgh268400.tistory.com/286
반응형
'[Python & Ruby]' 카테고리의 다른 글
Python 크롤링 - 3 / 이마트 크롤링해보기 2 (0) | 2022.11.19 |
---|---|
Python 크롤링 - 3 / 이마트 크롤링해보기 1 (0) | 2022.11.18 |
Python 크롤링 - 1 / 라이브러리 종류 (0) | 2022.11.17 |
[Python] 파이썬 여러 조건 정렬 (0) | 2021.09.20 |
[Python & Ruby] 클래스 멤버 (0) | 2020.12.31 |