[python] Requests-HTML를 이용하여 웹 페이지의 PDF 파일 다운로드하기

이번 포스트에서는 파이썬의 Requests-HTML 라이브러리를 사용하여 웹 페이지에서 PDF 파일을 다운로드하는 방법에 대해 알아보겠습니다.

Requests-HTML 이란?

Requests-HTML은 HTTP 요청을 손쉽게 만들고 보내는 기능을 제공하는 파이썬 라이브러리입니다. HTML 문서를 파싱하고 웹 페이지에서 데이터를 추출하는 것뿐만 아니라, 웹 페이지의 컨텐츠를 스크래핑하는 작업도 가능합니다.

설치하기

먼저, Requests-HTML 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install requests-html

사용 방법

Requests-HTML를 사용하여 웹 페이지에서 PDF 파일을 다운로드하는 방법은 다음과 같습니다.

from requests_html import HTMLSession

# 웹 페이지의 URL 설정
url = "https://example.com"

# HTMLSession 객체 생성
session = HTMLSession()

# 웹 페이지 로드
r = session.get(url)

# 웹 페이지 내 모든 링크 검색
pdf_links = r.html.links

# PDF 파일 다운로드
for link in pdf_links:
    if link.endswith(".pdf"):
        pdf_url = url + link
        response = session.get(pdf_url)
        with open(link, "wb") as f:
            f.write(response.content)
        print(f"{link} 다운로드 완료")

위의 예제 코드에서는 HTMLSession 객체를 생성하여 웹 페이지를 로드한 뒤, 웹 페이지 내에 있는 모든 링크를 검색합니다. 그리고 링크가 PDF 파일인 경우, 해당 파일을 다운로드하여 저장합니다.

실행 결과

위의 예제 코드를 실행하면, 웹 페이지 내에 있는 모든 PDF 파일을 다운로드하게 됩니다. 각 파일의 다운로드가 완료될 때마다 파일 이름을 출력합니다.

결론

Requests-HTML를 사용하면 파이썬으로 간편하게 웹 페이지의 PDF 파일을 다운로드할 수 있습니다. 이를 통해 크롤링이나 데이터 수집 작업에 유용하게 활용할 수 있습니다.

참고 자료