반응형
파이썬으로 웹페이지 안 이미지를 한꺼번에 다운로드 할 수 있는 소스코드
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)
코드 실행 결과 '다운로드' 폴더에 이미지 파일 저장되어있음
이미지 열어보니 내 티스토리에 있던 이미지 맞음
반응형
'파이썬' 카테고리의 다른 글
코랩에서 .py 파일 불러오는 방법 (0) | 2022.07.18 |
---|---|
Google Colab에서 pygame 사용 가능할까? (0) | 2022.07.18 |
338 예제로 완성하는 파이썬, 인트로덕션 투 파이썬 (0) | 2022.07.17 |
예제중심의 파이썬 입문 (0) | 2022.07.17 |
구글 코랩(google colab)에서 tkinter 사용가능할까? (0) | 2022.07.15 |