파이썬으로 웹 크롤링하기 (Selenium 이용)

2021. 1. 27. 16:42·Python
반응형

Selenium을 이용하여 크롤링을 해보자.

우선 설치부터 하겠다.

-> pip install selenium

또한 selenium을 사용하기 위하여 chromedriver을 설치 해주어야 한다.

먼저 자신의 크롬버전을 확인바란다.

chromedriver.chromium.org/downloads

 

Downloads - ChromeDriver - WebDriver for Chrome

WebDriver for Chrome

chromedriver.chromium.org

자신의 버전에 맞게 홈페이지에서 다운받자.

설치후 압축을 풀고 자신의 파이썬 워크스페이스에 옮겨주자

정상 설치후 화면

from selenium import webdriver

browser = webdriver.Chrome()
browser.get("http://naver.com")

코드를 입력하여 네이버브라우저를 열었을때

주소창 밑에 "Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다." 라고 뜬다. 잘 실행된 것이다.

 

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get("http://naver.com")

search_box = browser.find_element_by_id("query")
search_box.send_keys("오늘의 날씨")

search_btn = browser.find_element_by_id("search_btn")
search_btn.click()

실행화면

위 코드에서 주의깊게 볼건 browser.find_element_by_id이다.

by_id외에 

  • find_element_by_id
  • find_element_by_name
  • find_element_by_xpath
  • find_element_by_link_text
  • find_element_by_partial_link_text
  • find_element_by_tag_name
  • find_element_by_class_name
  • find_element_by_css_selector

이렇게 들어갈 수 있다.

네이트 자동로그인후 네이트 메일 제목들을 다 가져와보겠다.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Chrome()
browser.get("https://www.nate.com/")

id_btn = browser.find_element_by_xpath("//*[@id='ID']")
id_btn.send_keys("YOUR ID")
time.sleep(0.5)
browser.find_element_by_id("PASSDM").send_keys("YOUR PASSWORD")
time.sleep(0.5)
browser.find_element_by_id("btnLOGIN").click()

  위 코드 실행결과

import requests
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from bs4 import BeautifulSoup

browser = webdriver.Chrome()
browser.get("https://www.nate.com/")

id_btn = browser.find_element_by_xpath("//*[@id='ID']")
id_btn.send_keys("YOUR ID")
time.sleep(0.5)
browser.find_element_by_id("PASSDM").send_keys("YOUR PASSWORD ")
time.sleep(0.5)
browser.find_element_by_id("btnLOGIN").click()
mail_btn = browser.find_elements_by_link_text("메일")
mail_btn[0].click()

time.sleep(0.5)
soup = BeautifulSoup(browser.page_source,"lxml")

mails = soup.find_all("a", attrs={"class" : "title"})
for mail in mails:
    print(mail.text)

원하는 정보를 정확히 파싱했다.

 

반응형

'Python' 카테고리의 다른 글

파이썬을 이용하여 네이버 실시간 급상승검색어 가져오기  (0) 2021.01.27
파이썬으로 웹 크롤링하기 (BeautifulSoup 사용)  (0) 2021.01.27
Blind SQL Injection code form  (0) 2021.01.26
파이썬 정규식 (RegEx)  (0) 2021.01.17
enumerate와 list comprehension  (0) 2021.01.12
'Python' 카테고리의 다른 글
  • 파이썬을 이용하여 네이버 실시간 급상승검색어 가져오기
  • 파이썬으로 웹 크롤링하기 (BeautifulSoup 사용)
  • Blind SQL Injection code form
  • 파이썬 정규식 (RegEx)
Penguin Dev
Penguin Dev
What does the Penguin say?
    글쓰기 관리
  • Penguin Dev
    Pengha!
    Penguin Dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (152)
      • Java & Spring (5)
      • System Hacking (4)
      • Algorithm (8)
        • Sorting algorithm (3)
      • Python (6)
      • Web (2)
        • Web Hacking & Security (2)
      • Write-Up (108)
        • pwnable.kr (17)
        • HackCTF (16)
        • 해커스쿨 FTZ (21)
        • LOB(lord of bufferoverflow) (19)
        • LOS (lord of sql injection) (28)
        • XSS-game (6)
        • Webhacking.kr (1)
      • SUA (19)
        • 오픈소스 보안 (19)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    spring
    concurrenthashmap vs hashmap
    computeifpresent
    sqlinjection
    쿠폰발급
    tabat
    computeifabsent
    putval()
    ReentrantLock
    Lock
    코드트리조별과제
    computeifabsent()
    동시성처리
    nop sled
    lord of bufferoverflow
    spring boot
    enumerate #list comprehension
    thread-safe
    코드트리
    AQS
    CountDownLatch
    ConcurrentHashMap
    LOB
    reentrantlock실습
    computeifpresent()
    SpringBoot
    hashmap vs concurrenthashmap
    DB정리
    동시성
    Java
  • 최근 댓글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
Penguin Dev
파이썬으로 웹 크롤링하기 (Selenium 이용)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.