-
[Selenium] 파이썬 셀레니움으로 웹사이트 캡쳐하기Python/크롤링 2024. 4. 19. 16:17반응형
셀레니움으로 웹사이트 캡쳐하기
파이썬(Python)의 웹크롤링(Web Crawling) 작업을 위한 패키지 하면 가장 먼저 떠올릴법한 셀레니움(Selenium)은 단순 크롤링 이외에도 웹사이트 테스트, 자동화 업무 등 폭넓게 활용되고 있습니다. 이번에는 셀레니움을 이용해서 웹사이트의 특정 영역을 캡쳐하는 작업을 구현해 보도록 하겠습니다. 해당 기능은
screenshot_as_png
기능을 이용하면 간단합니다.이번에는 구글 검색창을 png 파일로 저장하는 기능을 만들어보겠습니다. 위 화면에서 빨간색 네모로 표시된 부분을 캡쳐하고 싶다고 가정한다면, 셀레니움에서 흔히 사용하는
find_element
기능을 이용해서 영역을 선택해 주면 됩니다. 해당 영역은 XPATH가/html/body/div[1]/div[3]/form/div[1]
이며, 개발자 도구를 이용해서 확인할 수 있습니다. 자세한 프로그램 구현은 아래의 예시 코드를 참조해 주세요.# import package from selenium import webdriver from selenium.webdriver.common.by import By import matplotlib.pyplot as plt import cv2 url = 'https://www.google.com/' driver = webdriver.Chrome() driver.get(url) png = driver.find_element(By.XPATH, '/html/body/div[1]/div[3]/form/div[1]').screenshot_as_png with open("elem.png", "wb") as file: file.write(png)
위 코드를 작동시키면, 구글 검색창 영역이
elem.png
파일로 저장됩니다. 이걸 그대로 어딘가에 첨부하는 등의 활용이 가능하며, 파이썬에서 해당 이미지를 사용하고 싶을 경우에는 OpenCV를 이용해서 이미지를 불러오면 됩니다.img = cv2.imread('elem.png') img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) plt.imshow(img) plt.axis('off') plt.show()
반응형'Python > 크롤링' 카테고리의 다른 글
[BeautifunSoup] 파이썬으로 네이버페이 증권 종목토론실 데이터 크롤링하기 (2) 2025.02.24 [BeautifunSoup] 파이썬으로 구글 뉴스 크롤링해보기 (0) 2024.03.08 [Selenium] 파이썬 셀레니움을 이용한 네이버 지도 크롤링 프로그램 만들기 - 2 (9) 2024.03.05