[Python] 나도코딩 웹 스크래핑편 - (9) 다음 영화 이미지
Updated:
유튜브 나도코딩 웹 스크래핑 무료 강의를 통해 학습한 내용을 정리해서 올리고 있습니다.
실습과정에서 필요에 따라 일부 강의 내용의 누락 및 추가, 수정사항이 있습니다.
퀴즈의 경우, 유튜브 풀이와 상이할 수 있습니다.
다음 영화 이미지
import requests
from bs4 import BeautifulSoup
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36"}
# 다음 검색 영화순위 - 이미지 저장하기
for year in range(2015,2020):
url = "https://search.daum.net/search?w=tot&q={}%EB%85%84%EC%98%81%ED%99%94%EC%88%9C%EC%9C%84&DA=MOR&rtmaxcoll=MOR".format(year)
res = requests.get(url, headers=headers)
res.raise_for_status()
soup = BeautifulSoup(res.text, "lxml")
images = soup.find_all("img", attrs={"class": "thumb_img"})
for idx, img in enumerate(images):
# 이미지 정보가 있는 url 지정
image_url = img["src"]
if image_url.startswith("//"): # startswith(): 00 단어로 시작하는 경우
image_url = "https:" + image_url
# 이미지 url을 다시 requests를 이용해 불러옴
image_res = requests.get(image_url)
image_res.raise_for_status()
with open(f"./movie{year}년_{idx+1}위.jpg", "wb") as f:
f.write(image_res.content) # content 정보를 사용
if idx >=4:
break
-
url은 다음 홈페이지에 yyyy년 영화 순위 검색 결과 링크를 사용하였고 여기선 2015 ~ 2019년 정보를 가져왔다.
-
startswith()
를 사용한 이유는 어떤 링크는 https로 시작하고 어떤 링크는 //로 시작해서 형태를 맞춰주었다. -
soup 객체에
content
속성을 사용해서 content 정보를 받아온 후 내 폴더에 이미지를 저장하였다.
Leave a comment