일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 위클리챌린지
- SQL
- 스프링부트
- 알고리즘
- 파이썬
- 엘라스틱서치
- 리눅스마스터 2급 2차
- 문법
- SQL 문법
- 오라클
- c언어
- 프로그래머스
- 기초
- 해킹실습
- 프로그래밍
- 스파크
- 스프링
- 토이프로젝트
- 데이터베이스
- 자바
- 빅데이터
- 코딩테스트
- 데이터프로그래밍
- 필기
- MySQL
- 문제풀이
- SQL 정리
- 모의해킹
- 이클립스
- 백준
- Today
- Total
개발일기
파이썬으로 네이버 카페 데이터 크롤링 하기 (1) 본문
# 준비하기
먼저 크롬을 활용한 웹 크롤러를 만들기 전 현재 사용하고 있는 크롬의 버전과 맞는 Chromedriver를 설치 해야한다.
설치는 공식 홈페이지인 : https://chromedriver.chromium.org/
ChromeDriver - WebDriver for Chrome
WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input, JavaScript execution, and more. ChromeDriver is a standalone server that implements the W3C WebDriver
chromedriver.chromium.org
해당 링크에서 설치하면 된다.
꼭 압축을 해제 해야한다!!
# 구현하기 (1) 크롬 띄우기
1
2
3
4
5
6
7
8
9
|
from selenium import webdriver
import time
driver = webdriver.Chrome('C:\\Users\hk335\Desktop\chromedriver_win32\chromedriver')
url = ('https://nid.naver.com/nidlogin.login')
driver.get(url)
time.sleep(2)
|
cs |
selenium 패치지에 있는 webdriver 모듈을 import 해준 후 우리가 위에 링크에서 설치한 chromedriver의 링크를 연결 해준다.
url의 해당하는 링크는 본인이 접속하고 싶은 로그인 하고 싶은 웹 사이트의 링크를 입력하면 된다.
코드를 입력 후 실행했을 때 위 사진과 동일한 에러문구가 나오는 경우는 현재 사용하고 있는 크롬의 버전과 설치한 크롬 드라이버의 버전이 다르기 때문이다. 따라서 오류 문구에 맞춰 크롬을 업그레이드 또는 드라이버를 다시 설치하면 정상적으로 실행되는 것을 볼 수 있다.
웹 드라이버의 버전을 맞춰 실행을 다시 하게되면 정상적으로 크롬이 켜지면서 해당 링크로 접속 되는 것을 확인할 수 있다.
# 구현하기 (2) 로그인 하기
아이디를 입력해야 하는 곳의 id는 id이며 password는 pw이다. 따라서 driver 모듈을 사용하면 크롬이 자동으로 해당 아이디와 비밀번호 란을 입력하게 할 수 있다.
1
2
3
4
5
6
7
8
9
|
# 아이디
tag_id = driver.find_element_by_name('id')
# 패스워드
tag_pw = driver.find_element_by_name('pw')
tag_id.click()
pyperclip.copy(uid)
tag_id.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
|
cs |
id와 pw의 란을 tag_id, tag_pw 라는 변수에 각각 저장한 뒤 click() 함수를 실행 미리 입력해둔 아이디와 비밀번호를 복사 붙여넣기 하게 된다.
비밀번호도 동일하게 6~9번째 줄 중에서 tag_id를 tag_pw로 uid를 upw로 바꿔 주면 동일하게 실행이 된다.
1
2
3
4
5
|
# 로그인 버튼 클릭
login_btn = driver.find_element_by_id('log.login')
login_btn.click()
time.sleep(2)
|
cs |
로그인에 사용하는 요소의 id는 log.login이다. 따라서 위와 동일하게 log.login의 요소를 찾아 클릭을 눌러주게 되면 미리 코드에 선언한 id와 pw로 로그인이 되게 된다.
정상적으로 아이디가 복사되며 비밀번호가 입력되는 것을 확인할 수 있다.
전체 코드 링크 : https://github.com/Hmgi/Data-Programming/blob/main/Crawling/makeWebCrawler.py
GitHub - Hmgi/Data-Programming
Contribute to Hmgi/Data-Programming development by creating an account on GitHub.
github.com
'프로그래밍 이론 > Python' 카테고리의 다른 글
빅데이터 Spark 사용해보기 - (1) Spark 란? (2) | 2021.09.27 |
---|---|
파이썬으로 네이버 카페 데이터 크롤링하기 (2) (2) | 2021.08.27 |
Elasticsearch 활용한 검색엔진 만들기 (2) (0) | 2021.08.17 |
Elasticsearch 활용한 검색엔진 만들기 (1) - Docker 설치 (0) | 2021.08.16 |
검색 엔진 기술 개요 [ 강의 요약 정리 ] (0) | 2021.08.15 |