태지쌤

로봇 & 코딩교육 No.1 크리에이터

파이썬

[파이썬] 웹페이지 이미지 한번에 다운로드

태지쌤 2022. 7. 17. 22:38
반응형

파이썬으로 웹페이지 안 이미지를 한꺼번에 다운로드 할 수 있는 소스코드

load_url에 대상 웹페이지 주소를 넣고,

Path에 다운로드 할 경로를 적어준다.

import requests
from bs4 import BeautifulSoup
from pathlib import Path
import urllib
import time

# 웹페이지를 취득하여 해석한다
load_url = "https://rcoding.tistory.com/228"
html = requests.get(load_url)
soup = BeautifulSoup(html.content, "html.parser")

# 저장용 폴더를 만든다 
out_folder = Path("download")
out_folder.mkdir(exist_ok=True)

# 모든 img 태그를 검색하여 링크를 취득한다
for element in soup.find_all("img"):
	src = element.get("src")
	
	# 절대 URL을 만들어 이미지 데이터를 취득한다 
	image_url = urllib.parse.urljoin(load_url, src)
	imgdata = requests.get(image_url)
	
	# URL에서 마지막에 있는 파일명을 추출하고 저장 폴더명과 연결한다
	filename = image_url.split("/")[-1]
	out_path = out_folder.joinpath(filename)

	# 이미지 데이터를 파일에 쓴다
	with open(out_path, mode="wb") as f:
		f.write(imgdata.content)

	# 한 번 액세스했으므로 1초 기다린다 
	time.sleep(1)

코드 실행 결과 '다운로드' 폴더에 이미지 파일 저장되어있음

이미지 열어보니 내 티스토리에 있던 이미지 맞음

반응형