Ordinary day

윈도우 VM에서 크롤링하기 본문

Study

윈도우 VM에서 크롤링하기

minung14 2020. 2. 6. 18:07

윈도우 서버 가상머신에서 셀레니움을 이용하여 크롤링 작업 진행 중, 이슈 상황 및 해결 방안을 기록해둠.

GCP 서버 정보

  • 머신 유형: n1-standard-2(vCPU 2개, 7.5GB 메모리)
  • 이미지: Windows Server 2019 Datacenter
  • 윈도우 정보: windows10, 64bit

개발환경

  • 아나콘다로 환경 구축 - 파이썬 3.7, selenium, konlpy, scrapy 등
  • (콘다로 가상환경 세팅하여 사용함)

이슈 상황

  1. KoNLPy 설치 문제 - 아나콘다 환경을 배포해서 사용하다가 konlpy는 jvm이 필요하고 그렇게 거슬러 올라가다가 새로 설치하게 되는데....

    Installation - KoNLPy 0.5.2 documentation

    주의) 위 링크 순서를 꼭 지켜야 함.

    JPype1: JPype1‑0.7.1‑cp37‑cp37m‑win_amd64.whl

    Jdk: jdk-1.8.0 (https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

    jdk 설치 후, 환경변수 세팅해줘야함.(JAVA_HOME, PATH 설정)

    모든 설치와 설정이 끝난 후 콘다 prompt 재실행하면 정상적으로 작동하는 것 확인할 수 있음

  2. IE 보안 문제로 인한 로그인 불가

    서버 관리자 프로그램>로컬서버>IE 보안강화 - 사용안함

  3. IE 드라이버 사용

    SeleniumHQ/selenium

    IE 11 이상에서는 레지스트리 설정이 필요함.
    32bit, 64bit 설정이 나눠져 있는데, 둘다 해야 작동이 되었음...ㅠ..

  4. IE 브라우저 옵션 설정 - 브라우저 설정에 따라 셀레니움 이벤트들이 안되는 경우가 발생

    고급>향상된 보호 모드 사용 - 비활성화

    보안>사용자 지정 수준>혼합된 콘텐스 표시 - 사용

  5. 로그 파일 인코딩 - 한글 때문에 로그 파일에 기록 되지 않음

    로그 config 에서 인코딩 타입 명시

     logging.basicConfig(handlers=[logging.FileHandler(logfile, 'a', 'utf-8')],
                         		# filename=logfile,    
                         		format='%(asctime)s %(levelname)s %(lineno)3s: %(message)s',    
                         		level=logging.INFO)
  6. 무중단 scrapy 실행

    아래 사이트 참고하여 코드 수정
    Scrapy: How to loop a crawler

'Study' 카테고리의 다른 글

Elasticsearch + GCS repository  (0) 2020.01.28
Comments