inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

원본 소스 부탁 드립니다.

494

김태환

작성한 질문수 8

1

강사님 기본과 실전 수강중에 있는데요

어느 부분에서 계속 오류가 걸리는 경우를 보면

거의 오타가 많아요

지금도 오류에 멈춰서 있습니다.

해서 원본 소스를 주시면 제 문제점 찾는데

큰 도움이 될 것 같아요. 메일로 부탁 드립니다.

( kim691220@naver.com )

웹-크롤링 python

답변 2

0

새벽별

from selenium import webdriver
# from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
import pyautogui
import pyperclip


# 크롬 드라이버 자동 업데이트
# from webdriver_manager.chrome import ChromeDriverManager

# 브라우저 꺼짐 방지
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)

# 불필요한 에러 메시지 없애기
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

# service = Service(executable_path=ChromeDriverManager().install())  # 최신 드라이버를 자동으로 설치
# driver = webdriver.Chrome(service=service)
driver = webdriver.Chrome(options=chrome_options)
driver.implicitly_wait(5)  # 웹페이지가 로딩될때까지 5초 기다림
driver.maximize_window()  # 화면 최대화

# 웹페이지 열기
url = "https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com"
driver.get(url)  # 처음 실행시 시간이 좀 걸림(다운로드+설치)

# 아이디 입력창
id = driver.find_element(By.CSS_SELECTOR, "#id")
id.click()
# id.send_keys("아이디")
pyperclip.copy("id1234")
pyautogui.hotkey("ctrl", "v")
time.sleep(2)

# 비밀번호 입력창
pw = driver.find_element(By.CSS_SELECTOR, "#pw")
pw.click()
# pw.send_keys("비밀번호")
pyperclip.copy("pw1234")
pyautogui.hotkey("ctrl", "v")
time.sleep(2)

# log.login
login_btn = driver.find_element(By.CSS_SELECTOR, "#log\.login")  # \. : 이스케이프 문자
login_btn.click()

네이버 자동 로그인 된 부분까지의 코드입니다.

크롬웹드라이버 자동 업데이트 부분은 강의와 같이 하지 않아도 되게 바뀐 것 같아서 주석처리했습니다.

 


 

위 코드대로 해서 그런지...

뒤에 강의 진행중 크롬 드라이버 버젼이 맞지 않다는 메시지가 뜨게 되는 것 같습니다.

 그런 경우... 다음 자동 업데이트 코드를 실행해 보시기 바랍니다.

from selenium import webdriver
import chromedriver_autoinstaller
# pip install chromedriver-autoinstaller

chromedriver_autoinstaller.install()
driver = webdriver.Chrome()
driver.implicitly_wait(5)

driver.get("https://www.naver.com/")

위 코드 실행시 ConnectionRefusedError가 뜨는 경우 VSCode 편집기를 껏다가 다시 실행하면 해결되었습니다. 아마 드라이버 설치중 접속을 해서 에러가 나는 경우인 것 같습니다.

0

스타트코딩

안녕하세요 :)

어떤 예제의 원본소스를 원하시는 건가요?

 

전체 코드를 말씀하시는 거면

제가 업데이트된 페이지 코드 모두 동작을 확인한 후 보내 드려야 해서

시간이 조금 걸릴 것 같습니다 ㅠㅠ

 

우선 불편하시더라도 영상을 통해 복습한다는 마음으로 따라 쳐보시면 어떨까요?

셀레니움 환경설정 오류

0

51

2

네이버 로그인 관련

0

273

2

안녕하세요 셀레니움에 대해서 질문

0

87

1

크롤링 연습사이트 문의

0

97

2

선택자 질문

0

71

2

'특정 요소가 나타날 때까지 스크롤' 부분 에러

0

78

2

자동 로그인 질문

0

89

2

44강 제목, 링크

0

106

1

원하는 값이 없을 때

0

90

2

크롤링한 링크가 엑셀로 들어가면 작동이 안되요

0

227

2

셀레니움 PDF자료는 받을 수 있나요

0

100

2

글목록 추출하기

0

98

2

메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문

0

89

2

강의 노트가 어디에 있는건가요?

0

80

2

강의 커리큘럼 질문

0

98

1

조건문 else 사용하지 않는 이유

0

76

2

셀레니움으로 접근할 수 없는 경우

0

95

2

웹페이지 변경

0

72

2

자바스크립트로 태그 선택 시 질문입니다.

1

64

2

수료증은 어떻게 받나요?

0

120

2

class명을 활용하여 선택자를 만들지 않는 경우..?

0

61

2

드라이버가 안 열려요

0

79

2

이거 해결방법 아시는 분?

0

121

2

네이버 지식인 크롤링..

0

202

2