반응형 개발/Python4 Python Selenium 동적 페이지 크롤링(Docker) Python의 Selenium을 활용해서 동적 페이지 크롤링 하는 부분을 docker 환경에서 실행해본다. 일반적인 데스크탑 환경과 다른점은 docker는 linux 환경으로 UI가 없다는 점이다. 하지만 Chrome 브라우저는 사용하게 된다. 먼저 다음과 같이 Dockerfile을 작성한다. python은 3.9 버전을 사용하고 Google Chrome을 설치한다. 그리고 python 실행에 필요한 패키지들을 requirements.txt를 통해서 설치하고, python 샘플코드를 실행한다. FROM python:3.9 WORKDIR /app RUN apt-get -y update && \ apt install wget && \ wget https://dl.google.com/linux/direct/g.. 2023. 8. 13. Python Selenium ChromeDriverManager 버전 오류(There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790) Python Selenium을 사용하여 동작하던 코드에서 갑자기 에러가 발생했다. 에러 내용은 ChromeDriverManager 관련된 에러였다. ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790 계속 잘 동작하던 코드였고 코드에 변경도 없었는데 갑자기 에러가 발생한 상황이었다. 여기저기 찾아보니 Chrome이 115 버전으로 업데이트 되었는데 ChromeDriver는 아직 114가 현재 최신 버전이라서 발생한 문제였다. 아래 코드처럼 자동 최신 드라이버를 설치하도록 했는데 ChromeDriver는 현재 Chrome의 버전을 기준으로 설치하도록 동작하고.. 2023. 8. 13. Python 엑셀 openpyxl 활용 Python에서 openpyxl 라이브러리를 사용하면 엑셀을 편하게 다룰 수 있다. 간단한 샘플을 통해서 openpyxl 활용하는 방법을 알아본다 먼저 openpyxl을 설치해준다. pip install openpyxl 샘플을 위한 엑셀 파일은 아래와 같이 간단하게 작성한다. openpyxl의 샘플기능들은 아래 코드들을 통해서 확인해 본다. 엑셀 파일에서 값을 Read하고, 필요한 값을 Write하여 새로운 파일을 생성하는 샘플이다. #작업 대상 엑셀파일(workbook)을 Load #data_only=Ture로 해줘야 수식이 아닌 값으로 받아옴 load_wb = load_workbook("/test/sample.xlsx", data_only=True) #엑셀 Sheet이름으로 시트를 Load load_.. 2023. 7. 30. Python BeautifulSoup Crawling(크롤링) 예제 파이썬(v3.9)으로 크롤링하는 예제를 간단히 남겨본다. 개발 환경은 아래와 같다 크롤링에 필요한 패키지 설치를 위해 requirements.txt 파일을 작성한다. python에서 클로링을 위해서 beautifulsoup을 많이 활용한다. beautifulsoup4==4.12.2 requests==2.31.0 그리고 패키지를 설치한다. pip install --no-cache-dir -r requirements.txt 이제 크롤링 python 샘플 코드를 아래와 같이 작성한다. 내용은 '네이버 뉴스검색'에서 키워드를 검색하고 그 결과를 출력하는 로직이다. 결과는 뉴스의 제목과 링크URL만 출력한다. import requests from bs4 import BeautifulSoup keyword = '자.. 2023. 7. 4. 이전 1 다음 반응형