[python] Requests-HTML로 웹 페이지의 자동 저장 기능 구현하기
웹 스크래핑을 위한 인기있는 Python 라이브러리인 Requests-HTML을 사용하여 웹 페이지의 자동 저장 기능을 구현해보겠습니다. Requests-HTML은 requests
와 beautifulsoup4
를 기반으로 만들어진 간편하고 사용하기 쉬운 라이브러리입니다.
요구 사항
- Python 3.x 버전이 설치되어 있어야 합니다.
- Requests-HTML이 설치되어 있어야 합니다. 설치는
pip install requests-html
명령어를 사용하여 수행할 수 있습니다.
코드 예제
다음은 Requests-HTML을 사용하여 웹 페이지를 자동으로 저장하는 코드 예제입니다.
from requests_html import HTMLSession
def save_web_page(url, file_name):
session = HTMLSession()
r = session.get(url)
# HTML 파일로 저장
with open(file_name, 'w', encoding='utf-8') as file:
file.write(r.html.html)
print(f'{url} 저장 완료')
# 예제 사용
save_web_page('https://www.example.com', 'example.html')
코드 설명
requests_html
모듈에서HTMLSession
클래스를 가져옵니다.save_web_page
함수를 정의합니다. 이 함수는url
과file_name
매개변수를 받습니다.HTMLSession
클래스의 인스턴스인session
을 생성합니다.session.get()
메서드를 사용하여 주어진 URL의 웹 페이지를 가져옵니다.r.html.html
을 사용하여 웹 페이지의 HTML 내용을 얻습니다.open()
함수를 사용하여 파일을 열고,write()
함수를 사용하여 HTML 내용을 파일에 저장합니다.- 저장이 완료되면, 사용자에게 저장 완료 메시지를 출력합니다.
위의 예제 코드를 실행하면, https://www.example.com
웹 페이지가 example.html
파일로 저장됩니다.
결론
Requests-HTML을 사용하면 Python을 통해 웹 페이지를 쉽고 간편하게 저장할 수 있습니다. 이를 활용하여 웹 스크래핑 작업이나 데이터 수집 작업을 보다 효율적으로 수행할 수 있습니다.
참고 문서
- Requests-HTML 공식 사이트: https://requests-html.kennethreitz.org/
- Requests-HTML GitHub 저장소: https://github.com/psf/requests-html