BeautifulSoup4 활용3

2023. 4. 23. 12:48·python/python_selenium

<2018~2022 년 1~5순위 포스터 가져오기>

# 다음 영화 이미지 2018~2022 년 1~5순위 포스터 가져오기
import requests
from bs4 import BeautifulSoup
import lxml

for year in range (2018, 2023):
    url = "<https://search.daum.net/search?w=tot&q="+str(year)+"%EB%85%84%EC%98%81%ED%99%94%EC%88%9C%EC%9C%84&DA=MOR&rtmaxcoll=MOR>"
    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"]
        # image_url 가 `//`로 시작하면 앞에 https: 추가.
        if image_url.startswith("//"):
            image_url = "https:"+image_url
        
        # 이미지 url에 접속 후 페이지의 정보를 파일로 저장하기 위해 새로 접속.
        image_res = requests.get(image_url)
        image_res.raise_for_status()
        
        with open("movie{}_{}.jpg".format(year,idx+1), "wb") as f:
            # image_res가 가지고 있는 content 정보를 바로 파일로 씀
            f.write(image_res.content)
        if idx >=4:
            break
  • 이미지 url 가져온 뒤 image_res를 사용해 새로 접속함
  • with open (”파일명”, “wb”) as f: f.write(requests.content) = 파일명으로 url의 파일을 저장.
  • requets.content를 사용해 이미지 파일로 저장할 수 있음.
    ㄴ requests.text : HTTP Request를 보낸 URL에서 읽을 수 있는 내용을 가져올 때 사용
                                인코딩을 추측하고 인코딩 값으로 디코드한 값으로, 한번 가공됨(원본 X)
    ㄴ requests.content : HTTP Request의 body부분이 bytes 상태 그대로 저장되어 있음.
                                      즉, 이미지 등의 미디어 파일을 받고자할 때 사용함

'python > python_selenium' 카테고리의 다른 글

Selenium 기본  (0) 2023.04.25
CSV 기본  (0) 2023.04.23
BeautifulSoup4 활용2  (0) 2023.04.22
BeautifulSoup4 활용1  (0) 2023.04.19
BeautifulSoup4 기본  (0) 2023.04.18
'python/python_selenium' 카테고리의 다른 글
  • Selenium 기본
  • CSV 기본
  • BeautifulSoup4 활용2
  • BeautifulSoup4 활용1
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (165)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (30)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
      • 에러일기 (1)
      • AWS (27)
      • Jmeter (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    테스트 결과보고서
    테스트스크립트
    linux
    도커
    로스트아크
    application log
    공존성테스트
    LOSTARK
    네트워크 테스트
    k8s
    .cpu
    python
    리눅스
    postman
    테스트 계획서
    QAKOREA
    쿠버네티스
    앱공존성
    포스트맨
    e2c
    로스트아크api
    개발자에서아키텍트로
    테스트 계획서 만들어보기
    vi에디터
    API
    스터디
    qa
    cka
    사드웨어리소스
    애플리케이션로그
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
BeautifulSoup4 활용3
상단으로

티스토리툴바