상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
메탄올은 어떻게 제조되나요?
뇌부종의 발생과 관련된 생활 습관은 어떤 것이 있나요?
강수량이 기후에 미치는 영향은 무엇인가요?
설렁탕을 먹을 때 주의해야 할 점은 무엇인가요?
인도 커리의 대표적인 요리는 무엇인가요?
인도 커리의 매운 정도를 조절하는 방법은 무엇인가요?
인도 커리의 고기 종류에 따른 조리법 차이는 무엇인가요?
부추를 볶아 먹는 방법은?
부추의 효능 중 혈당 조절에 대한 정보는?
부추의 재배 시 필요한 수확 주기는?
NVMe SSD의 대체 기술은 무엇인가요?
NVMe SSD의 데이터 전송 오류를 예방하는 방법은 무엇인가요?
Previous
Next
수정하기 - 셀레니움에서 페이지의 모든 이미지 URL을 가져오는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
셀레니움(Selenium)은 웹 애플리케이션을 자동화하는 데 사용되는 강력한 도구로, 웹 페이지의 요소를 조작하고 <a href='https://sangseek.com/sangseeks/정보/ko'>정보</a>를 추출하는 데 유용합니다. 페이지의 모든 이미지 URL을 가져오는 방법에 대해 자세히 설명하겠습니다. 1. 셀레니움 설치 먼저, 셀레니움을 사용하기 위해 Python 환경에 셀레니움을 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다. ```bash pip install selenium ``` 또한, 웹 드라이버(예: ChromeDriver)를 다운로드하여 시스템 경로에 추가해야 합니다. Chrome을 사용하는 경우 [ChromeDriver](https://sites.google.com/chromium.org/driver/)에서 해당 버전을 다운로드하세요. 2. 기본 코드 구조 셀레니움을 사용하여 웹 페이지의 모든 이미지 URL을 가져오는 기본적인 코드 구조는 다음과 같습니다. ```python from selenium import webdriver from selenium.webdriver.common.by import By import time 웹 드라이버 설정 driver = webdriver.Chrome() 또는 webdriver.Firefox() 등 사용 driver.get('https://example.com') 원하는 웹 페이지 URL로 변경 페이지 로딩 대기 time.sleep(3) 페이지가 완전히 로드될 때까지 대기 모든 이미지 요소 찾기 images = driver.find_elements(By.TAG_NAME, 'img') 이미지 URL 수집 image_urls = [img.get_attribute('src') for img in images] 결과 출력 for url in image_urls: print(url) <a href='https://sangseek.com/sangseeks/드라이버 종료/ko'>드라이버 종료</a> driver.quit() ``` 3. 코드 설명 - 웹 드라이버 설정 : `webdriver.Chrome()`을 사용하여 Chrome 브라우저를 실행합니다. 다른 브라우저를 사용하려면 해당 브라우저에 맞는 드라이버를 사용해야 합니다. - 페이지 로딩 대기 : `time.sleep(3)`을 사용하여 페이지가 완전히 로드될 때까지 대기합니다. 더 나은 방법은 <a href='https://sangseek.com/sangseeks/WebDriverWait/ko'>WebDriverWait</a>을 사용하는 것입니다. - 이미지 요소 찾기 : `driver.find_elements(By.TAG_NAME, 'img')`를 사용하여 페이지의 모든 `<img>` 태그를 찾습니다. - 이미지 URL 수집 : 리스트 컴프리헨션을 사용하여 각 이미지 요소의 <a href='https://sangseek.com/sangseeks/`src`/ko'>`src`</a> 속성을 가져와 리스트에 저장합니다. - 결과 출력 : 수집한 이미지 URL을 출력합니다. - 드라이버 종료 : `driver.quit()`을 호출하여 브라우저를 종료합니다. 4. WebDriverWait 사용하기 페이지가 로드되는 시간을 정확하게 기다리기 위해 `WebDriverWait`을 사용하는 것이 좋습니다. 다음은 이를 적용한 코드입니다. ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC 웹 드라이버 설정 driver = webdriver.Chrome() driver.get('https://example.com') 이미지 요소가 로드될 때까지 대기 WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.TAG_NAME, 'img'))) 모든 이미지 요소 찾기 images = driver.find_elements(By.TAG_NAME, 'img') 이미지 URL 수집 image_urls = [img.get_attribute('src') for img in images] 결과 출력 for url in image_urls: print(url) 드라이버 종료 driver.quit() ``` 5. 추가 고려 사항 - 동적 로딩 : 일부 웹 페이지는 JavaScript를 사용하여 이미지를 동적으로 로드합니다. 이 경우, 페이지가 완전히 로드될 때까지 기다려야 합니다. - 중복 URL 제거 : 수집한 이미지 URL 중 중복된 URL을 제거하려면 `set`을 사용할 수 있습니다. - HTTPS와 HTTP : 이미지 URL이 HTTPS인지 HTTP인지 확인하고, 필요에 따라 필터링할 수 있습니다. - <a href='https://sangseek.com/sangseeks/에러/ko'>에러</a> 처리 : 웹 페이지가 변경되거나 이미지가 로드되지 않는 경우를 대비하여 에러 처리를 추가하는 것이 좋습니다. 이와 같은 방법으로 셀레니움을 사용하여 웹 페이지의 모든 이미지 URL을 효과적으로 수집할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기