파이썬 웹크롤링 로그인 질문드립니다!

조회수 2160회

import requests from bs4 import BeautifulSoup

s = requests.Session() req = s.get('http://www.filesun.com/')

LOGIN_INFO = { 'user_id': ' ', 'password': ' ' }

with requests.Session() as s:

login_req = s.post('http://www.filesun.com/', data=LOGIN_INFO)

print(login_req.status_code)

이제 이런식으로 코드를 실행시키려고 합니다.

근데 오류는 어떠한 비밀번호나 아이디를 입력해도 항상 200이 뜹니다.

404가 오류코드로 알고있고 200이 됬다는 뜻으로 알고있는데 200으로 떠서;;

확실한 로그인 코드를 짜고싶은데 혹시 힌트라도 알려주실수있나요?

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 웹하드 사이트를 크롤링하시려는 이유가 뭔지는 모르겠지만... 해당 사이트 보니까 로그인 체크를 /login/login_check.php 로 넘겨서 전송하는데요. 메인페이지 요청헤더에 저 값을 넣는다고 해서 될 게 아니고 이 로그인체크 페이지를 요청해 보셔야 할 것 같네요. 엽토군 2018.8.14 09:18

1 답변

  • 404 는 오류가 아니라 해당 URL이 없다는 의미입니다.

    200 은 OK 로 성공했다는 의미 즉 정상이라는 의미입니다. 이 의미는 로직의 정상이 아니라 호출의 정상임을 나타냅니다.

    즉 인증이 실패해도 HTTP 는 200을 줍니다. 호출 자체는 정상이니까요.

    성공여부는 HTTP 응답으로 보면 안되고 본문을 파싱하던지 혹은 body 의 리턴문자열등으로 확인해봐야 합니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)