활용3. 웹스크래핑(0825-0829)/requests

스크래핑 2-2 다음 영화 이미지 저장( requests )

나도초딩 2022. 8. 28.

DAUM 영화. 이미지 저장

  1. 페이지 반복 응용 -> in range(2015,2020)
  2. http: 없는 url 에 http:// 붙이기 --> if image_url.startswith("//")
  3. 추출한 이미지 url 로 다시 접속! --> requests.get(url) 과 raise_for_status()
  4. 파일 쓰기(이미지 저장)
    with open("파일명".format(변수), "wb") as f:
        f.write(image_res.content)
  5. 반복횟수 제한해서, 상위 top 5 만 추출 --> if idx >= 4: break
import requests
from bs4 import BeautifulSoup
# for year in range[2018:2023]:
for year in range(2018,2023):
    url = "https://search.daum.net/search?nil_suggest=btn&w=tot&DA=SBC&q={}%EB%85%84+%EC%98%81%ED%99%94%EC%88%9C%EC%9C%84".format(year)
    res = requests.get(url)
    res.raise_for_status()
    soup = BeautifulSoup(res.text, "lxml")

    images = soup.find_all("img", attrs={"class":"thumb_img"})

    for idx,image in enumerate(images):
        image_url = image["src"]
        if image_url.startswith("//"):
            image_url = "https:"+image_url   
        # print(image["src"])
        image_res = requests.get(image_url)
        image_res.raise_for_status()
        with open("movie_{}_{}.jpg".format(year,idx), "wb") as f:
            f.write(image_res.content)
            
        if idx >= 4:
            break

 

댓글