인프런 커뮤니티 질문&답변

Seongmin Lee님의 프로필 이미지

작성한 질문수

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

웹 브라우저 없는 스크랩핑 및 파싱 실습(2) - 네이버 카페 자동화

셀리니움 관련 몇가지 질문 남겨요.

작성

·

173

0

선생님,

덕분에 프로젝트 하나 성공적으로 끝나려 합니다.

몇가지 의문점 남겨서 적어봅니다.

  1. requests 모듈에서도 로긴방법 등 회피요령(토큰, 헤더 등)을 알려주셨는데요. selenium은 절대로 이런 경우를 맞닥들일 일이 없나요? 혹시 맞닥들인다면 어떻게 문법을 적어야할지 모르겠습니다.

  2. 혹시 로긴할때 selenium대신 requests를 써야만 하는 이유가 있나요? 아무리 봐도 selenium이 너무 편하고 좋은 느낌이 들어서요.

  3. selenium을 한마디로 요약하면 웹브라우저 상 하나하나 클릭해야할 일을 코딩으로 하기위한 모듈로 생각하면 될까요?

너무 감사합니다!

답변 2

0

Seongmin Lee님의 프로필 이미지
Seongmin Lee
질문자

답변 감사합니다!! 크롤링 고급강의를 목이 빠지게 기다리고 있습니다. 준비해주시는 동안 기존 강의 더 열공하겠습니다! 감사합니다. 개인적으로 뭔가 정말 어려운 사이트들만 모아서 노하우를 알려주시는 것도 저희에게 아주 소중한 기회가 될 것 같습니다!

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

네 좋은 질문입니다. 이성민 님

결론부터 이야기 하면 있습니다.

서버측 개발자는 항상 봇들에 대한 방지 코드를 넣어두곤 합니다.

주로 대형 포털 사이트일수록 엄격하겠지요.

하지만 브라우저를 통해서 접속을 허용하는 한 코드로써 대부분 크롤링을 수행할 수 있습니다.

selenium으로 만약 접속 및 컨트롤이 되지 않는다면 response 되는 에러 코드를 보고

그에 맞는 header값들을 넘겨서 수행하실 수 있습니다.

다만, 극히 드문일이지만, 서버측 javascript 단에서 진짜 브라우저인지 (pdf 뷰어를 가지고 있는지) 이런 것들로 체크해논 사이트들도 있지만, 아직까지는 거의 보지 못했습니다.

https://stackoverflow.com/questions/29916054/change-user-agent-for-selenium-driver

위에 링크를 보시면 header를 넣는것을 확인하실 수 있습니다.

requests 는 굳이 사용안하셔도 selenium 만 단독으로도 사용이 가능하겠죠?

requests가 편해서 사용한 것일 뿐입니다.

감사합니다.