Python Selenium

Jiho Park·2023년 6월 22일
0

BeautifulSoup 라이브러리만으로도 다양한 사이트의 정보를 추출할 수 있습니다. 그런데, BeautifulSoup에게는 한계가 있다

바로, "자바스크립트로 동적으로 생성된 정보는 가져올 수 없다"

자바스크립트가 발전을 하면서, Ajax(비동기 통신) 형태로 서버와 데이터를 주고 받아 화면에 뿌려주는 사이트가 많아 졌습니다. 이러한 형식으로 데이터를 주고 받으면 url 변경이나 새로고침 없이 데이터를 가져올 수 있다

스크래핑을 시도하여 데이터를 가져와야 하는 경우, 아무것도 가져오지 못하는 현상을 겪을 수 있다. 대부분의 경우가 자바스크립트로 HTML을 만들어서이다.

Selenium 라이브러리를 사용하는 이유는 다음과 같습니다
1. 자바스크립트가 동적으로 만든 데이터를 크롤링 하기 위해
2. 사이트의 다양한 HTML 요소에 클릭, 키보드 입력 등 이벤트를 주기 위해

Selenium을 잘 활용하면, 평소에 반복적으로 하고 있는 웹상의 업무를 자동화할 수도 있습니다.
1. 자동으로 로그인하기
2. 메일보내기 자동화
3. 블로그 이웃새글 자동좋아요 누르기
4. 인스타그램 자동으로 좋아요, 댓글 작성하기

설치 및 실행 코드 예)

  1. selenium 모듈 설치
  • pip install selenium
  1. selenium으로 크롬브라우저창 열기
    driver 경로를 파일경로와 같은 곳에 둘 경우
    from selenium import webdriver
    driver = webdriver.Chrome()
    url = 'https://www.google.com'
    driver.get(url)
    driver 경로를 파일경로와 다른 곳에 둘 경우
    from selenium import webdriver
    driver = webdriver.Chrome('driver의경로')
    url = 'https://www.google.com'
    driver.get(url)

  2. 원하는 태그 찾기
    요소검사를 진행해서 id나 class 또는 태그명을 확인한다.
    driver.find_element_by_css_selector (단수)
    driver.find_elements_by_css_selector (복수)

  3. 키 입력하기
    send_keys('파이썬')

0개의 댓글