본문 바로가기
반응형

Crawling2

셀레니움 없이 웹페이지 스크린샷 뜨기 셀레니움 셀레니움(Selenium)은 웹 드라이버 기반의 강력한 툴로써 크롤링 등 여러가지 용도로 널리 쓰이고 있는 라이브러리이다. 셀레니움의 강점은 그 쉬운 사용법에 있는데, 예를 들어 특정 url에 접근하여 페이지 스크린샷을 찍고싶다고 한다면 아래와 같이 간단한 코드로도 수행할 수 있다. from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() # options.add_argument("--headless") options.add_argument('log-level=3') options.add_argument(f"--window-size=1920,1080") options.. 2023. 3. 6.
Python Multiprocessing으로 병렬처리, 크롤링으로 맛보기 Why Multiprocessing? Python은 Global Interpreter Lock(GIL) 로 인해서 원칙적으로는 c에서와 같이 fork 등 프로세스 분기가 막혀있다. 그럼에도 불구하고 유사한 효과를 제공할 수 있는 여러가지 방법들을 제공하는데, 이 중 multiprocessing, 그 중에서도 Pool을 다뤄본다. 크롤러나 I/O를 포함하는 파이썬 스크립트나 c backend가 없는 프로그램의 경우 단일 스레드만 사용하면 시스템 리소스 사용 효율이 너무 떨어지는 경우가 생기는데, 이 때 이걸 어느정도 해결하는 방법이 multiprocessing이다. SIMD vs Pipeline 공식문서에서 수 많은 용례를 확인할 수 있고, threadpoolexecutor, processpool exec.. 2023. 2. 18.