[SK shiedlus Rookies 23]Python(7)_24.10.23

박소민·2024년 11월 5일

Python

목록 보기
20/23

웹크롤링

1. 가상환경 설정2. local에 selenium 설치 (▶️run.ipynb)3. 설치 확인 및 모듈가져오기 ➕ 브라우저 가동/오픈

                                 🔽🔽🔽

                             ⤷ *브라우저 닫지 않은 상태서 다음 계속 진행
  1. 타겟 사이트 진입 (현재 제어프로그램에서 접속) https://www.opinet.co.kr/searRgSelect.do
  1. css selector
                  🔽🔽🔽
    Ex.01 > "시도" 특정 - id값
    Ex.02 > "조회 / 엑셀저장" 특정 - class값6. 사이트 분석
    -시도/시군구/조회 버튼
    -엑셀 저장 버튼

(a). 시도 요소 특정

                     🔽🔽🔽

                    🔽🔽🔽

요소 로테이션

(b). 시군구 요소 특정

리스트 출력요소 로테이션

  1. 통합
    (+) 요소 데이터 엑설 저장 중...

데이터 전처리

  • 엑설 ➜ df (DataFrame) 변환 ➜ 데이터베이스 저장
  1. 다운된 엑셀 파일 & 파일 경로를 모아 리스트 구성
  2. 엑셀 읽기
  3. df 변환

기타

  • selenium 기능 (*20% 내외 핵심만 사용)
    • 고스트 기능 : 브라우저 가동X
    • 프록시 기능 : ip우회하여 요청, 클라이언트 특정 X
                   ⤷ but. 프록시 서버가 있어야함.
    • 타겟사이트 상황에 맞춰 진행
      -user-agent 조작 ➜ 클라이언트가 PC/모바일/안드로이드/... 변조가능
      -대기시간
               a. 명시적: 난수를 활용하여 변조
               b. 암묵적: 해당 엘레먼트가 메모리에 로드할 때까지 대기 후 
                 다음 루틴 진행 ➜ 네트워크 속도, 화면처리 속도에 유연히 대응 가능 
                 (ex. until)

0개의 댓글