[python] Requests-HTML로 웹 페이지의 헤더 정보 추출하기

웹 크롤링을 할 때 종종 웹 페이지의 헤더 정보를 추출해야 할 때가 있습니다. 요청을 보내고 받은 HTTP 응답의 헤더를 확인함으로써 웹 서버와의 통신 정보를 알 수 있습니다. 이번 글에서는 Python의 Requests-HTML 라이브러리를 사용하여 웹 페이지의 헤더 정보를 추출하는 방법을 알아보겠습니다.

Requests-HTML 설치하기

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

pip install requests-html

웹 페이지의 헤더 정보 추출하기

Requests-HTML은 HTML을 파싱하는 동시에 HTTP 요청을 보낼 수 있는 기능을 제공합니다. 따라서 웹 페이지의 헤더 정보를 추출하려면 먼저 해당 웹 페이지에 HTTP 요청을 보내야 합니다. 아래는 Requests-HTML을 사용하여 웹 페이지의 헤더 정보를 추출하는 예제 코드입니다.

from requests_html import HTMLSession

session = HTMLSession()
response = session.get('https://example.com')

headers = response.headers

for key, value in headers.items():
    print(f"{key}: {value}")

위 코드에서는 먼저 HTMLSession 객체를 생성한 후, get 메서드를 사용하여 웹 페이지에 GET 요청을 보냅니다. 이후에는 response.headers를 통해 헤더 정보를 가져올 수 있습니다. 추출한 헤더 정보를 반복문을 사용하여 출력하면 됩니다.

결과 확인하기

위 예제 코드를 실행하면 해당 웹 페이지의 헤더 정보가 출력됩니다. 예를 들어 https://example.com에 대한 헤더 정보를 추출하면 아래와 같은 결과가 나타날 수 있습니다.

Content-Type: text/html; charset=UTF-8
Date: Thu, 01 Jul 2021 00:00:00 GMT

헤더 정보 중에서 주로 활용되는 필드는 Content-Type, Date, Content-Length 등이 있습니다. 웹 페이지 상에서 다양한 정보를 추출하기 위해서는 다른 필드도 확인해보세요.

마무리

이번 글에서는 Requests-HTML 라이브러리를 사용하여 웹 페이지의 헤더 정보를 추출하는 방법을 알아보았습니다. 헤더 정보는 웹 크롤링을 할 때 유용하게 활용될 수 있으므로 앞으로의 프로젝트에서 활용해보시기 바랍니다.