Day-25

김재현·2023년 6월 26일

JUPYTER/DL/ML

목록 보기
7/73

크롤링 방지 기술

  • 최근 웹 페이지의 class는 주기적으로 변경되도록 설정 즉, 크롤링은 1회용 코드

개발자 도구에서 body태그 내부에 root, scripts(HTML 기능을 사용할 필요없음-리액트 코드 기술) 기능을 사용한 웹 페이지는 크롤링일 불가능하게 설정
아니면 class의 이름을 접속할 때마다 변경

셀리니움(Selenium)

'셀리니움'이라는 파이썬 라이브러리를 사용해 개발자 도구의 데이터 수집이 불가능한 requests를 대체해 크롤링 가능
chromedriver를 상용해 selenium과 google chrome 브라우저를 연결하면
1. 특정 페이지 접속
2. Element 코드 추출
3. 특정 요소(input 태그)의 키보드 입력 보내기
4. 특정 요소의 마우스 클릭 보내기
5. JS 코드 강제 실행(스크롤 발생)

셀리니움 패키지

  • selenium 패키지를 생성해 chrome을 제어
    from selenium
  • WebDriverWait 패키지를 사용해 크롬 제어
    import WebDriverWait
  • time 패키지를 통해 크롤링할 정보를 로딩될 시간을 제공
    import time

사용자의 개입(키도브, 마우스 조작)이 필요한 경우

사용자의 키보드, 마우스 조작 및 개입이 필요한 페이지를 자동화가 가능하지만 보안에 신경쓰는 빅테크의 경우 반자동 개입을 요구

  • 파파고 번역 프로그램을 통한 실습

통계

머신러닝에서는 데이터에 맞는 수식을 찾아야 한다(추론)

데이터의 변수 : 표로 표현했을 경우 열단위의 정보
프로그래밍 변수 : 독립적인 요소

0개의 댓글