inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

한빛사이트 실습이 안 됩니다

231

성실한개발자

작성한 질문수 5

0

안녕하세요 강사님 수업 잘 듣고 있습니다

한빛출판사 사이트에 로그인하고 마이페이지에서 데이터 가져오는 실습에서 

강의 자료에서 아이디 비번 부분만 바꾸고 실행해도 

print(res.raise_for_status())을 출력하면 None이 나옵니다 

제가 자바스크립트를 몰라서 어떻게 해야할 지 모르겠습니다.

홈페이지가 바뀐건가요? 저만 안 되는걸까요..?

------------------------------------------------------------

import requests

from bs4 import BeautifulSoup

login_url = 'http://www.hanbit.co.kr/member/login_proc.php'

crawl_url = 'http://www.hanbit.co.kr/myhanbit/myhanbit.html'

session = requests.session()

params = dict()

params['m_id'] = '제 아이디로 바꿨습니다'

params['m_passwd'] = '제 비번으로 바꿨습니다'

res = session.post(login_url, data=params)

print(res.raise_for_status()) # 작동하는지 확인하기위해 출력했는데 None이 나옵니다

# print (res.headers)

# print (session.cookies.get_dict())

res = session.get(crawl_url)

soup = BeautifulSoup(res.content, 'html.parser')

data = soup.select('dl.mileage_section1 > dd > span')

for item in data:

    print (item.get_text())

python 웹-크롤링

답변 1

1

잔재미코딩 DaveLee

안녕하세요. 사이트가 변경되었네요.

아무래도 수강자분들께 보다 도움이 되고자, 제 강의가 실전 사이트 예제를 많이 보여드리려했는데요. 수강자분들께서 많이 늘어나다보니, 사이트 크롤링 연습을 많이 하셔셔, 관련 사이트 운영자분들께서 부담이 되시는 것 같습니다.

해당 사이트가 크롤링을 강하게 막아놓은 상태라서, 해당 사이트는 부득이 중급 크롤링 강좌(현존 최강 크롤링 기술: Scrapy와 Selenium 정복) 에서 설명드린 selenium 기술을 써야 할 것 같습니다. 관련 기술은 별도 프로그램 설치부터 시작해서 내용 자체가 중급에 해당되는 많은 설명이 필요한 부분이라서요. 우선 해당 로그인이 필요한 사이트 강의 내용과, 다음 selenium을 사용한 코드는 참고로만 부탁드립니다. (크롬 드라이버를 적절히 설치하셔야 동작하는 프로그램이라서요.)  

감사합니다.

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

import time

driver = webdriver.Chrome('./chromedriver')

driver.get('https://www.hanbit.co.kr/member/login.html')

my_id = '아이디'

my_pw = '패스워드'

# 다음 세 줄이 기본 패턴 코드: ID 넣기

# WebDriverWait(driver, 최대 기다리는 시간).until(EC.presence_of_element_located((By.CSS_SELECTOR, CSS Selector 태그)))

login_id = WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#m_id")))

login_id.clear() # 입력창의 경우, 사전에 작성되어 있는 텍스트를 삭제

login_id.send_keys(my_id) # 내가 넣고자 하는 텍스트 삽입

# 다음 세 줄이 기본 패턴 코드: 패스워드 넣기

login_pw = WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#m_passwd")))

login_pw.clear()

login_pw.send_keys(my_pw)

# 버튼 클릭시는 다음 두 줄: 로그인 버튼 누르기

button = WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#login_btn")))

button.click()

time.sleep(1) # 로그인 후의 페이지 로딩을 위해, 1초정도 기다리면 좋음

driver.get('https://www.hanbit.co.kr/myhanbit/myhanbit.html')

coin = driver.find_element_by_css_selector('div.sm_mymileage > dl.mileage_section1 dd')

print (coin.text)

driver.quit()

크롤링, 영상을 따라해도 제미나에게 물어봐도 안되요

0

33

1

정규표현식 및 여러 코드 꼭 외워야 하나요?

0

39

1

리스트 함수형도 정수 데이터 받을 수 있나요?

0

46

1

크롤링 관련 질문

0

64

1

문제 답이 없는 버전은 없나요?

0

74

1

requests, BeautifulSoup 임포트 부분에 대해 문의드립니다.

0

83

1

업데이트 강의

0

98

2

선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?

0

123

2

연습용 예제 파일

0

76

1

lxml 관련 오류

0

106

1

SAVE Request 창 띄우는 법

0

92

1

포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다. 2

0

75

1

포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다.

0

98

1

예제 2, 4, 6에 대한 풀이 방식 질문.

0

89

1

문제 파일

0

78

1

pdf 파일 내 코드 복붙시 공백

0

291

1

데이터 저장 강좌 문의 건

0

95

1

" " 와 ' '의 차이를 알고 싶습니다

0

243

1

Exercise 22. 문자열 다루기 (strip)

0

132

1

list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?

0

187

1

셀 삽입후 바로 기입이 가능합니까?

0

139

2

주피터 노트북 마우스 스크롤? 오류

0

1550

2

등호 2개('==')의 의미가 뭐죠?

0

460

2

페이지가 넘어갈 때 url 변하지 않는 경우

0

266

1