[파이썬] requests-html 문자열로부터 HTML 파싱

파이썬에는 다양한 라이브러리가 있어서 HTML 웹 페이지를 파싱하고 데이터를 추출하는 것이 매우 간단해졌습니다. 그 중에서도 requests-html은 requests와 BeautifulSoup을 함께 사용해 쉽게 HTML을 파싱할 수 있는 라이브러리입니다. 이 블로그 글에서는 requests-html을 사용하여 문자열로부터 HTML을 파싱하는 방법에 대해 알아보겠습니다.

requests-html 설치

먼저, requests-html 라이브러리를 설치해야 합니다. pip 패키지 매니저를 사용하여 다음 명령을 실행해주세요:

pip install requests-html

requests-html을 사용한 HTML 파싱

이제 requests-html을 사용하여 HTML을 파싱하는 방법을 알아보겠습니다. 먼저, 다음과 같은 문자열이 있는 경우를 가정해봅시다:

html_string = '<div><h1>Hello, World!</h1><p>Welcome to my blog!</p></div>'

이제 requests-html 모듈을 사용하여 이 문자열을 파싱할 수 있습니다. 다음과 같이 코드를 작성해 보겠습니다:

from requests_html import HTML

parsed_html = HTML(html=html_string)

HTML 클래스의 인스턴스를 생성하고, html 매개변수로 파싱할 HTML 문자열을 전달하여 HTML을 파싱합니다.

이제 파싱된 HTML을 사용하여 원하는 데이터를 추출할 수 있습니다. 예를 들어, h1 요소의 텍스트를 가져오려면 다음과 같이 코드를 작성합니다:

h1_text = parsed_html.find('h1', first=True).text
print(h1_text)  # Output: Hello, World!

위 코드에서 find 메서드는 주어진 선택자에 해당하는 첫 번째 요소를 반환합니다. text 속성을 사용하여 해당 요소의 텍스트를 가져올 수 있습니다.

또 다른 예로, p 요소의 텍스트를 가져오려면 다음과 같이 코드를 작성할 수 있습니다:

p_text = parsed_html.find('p', first=True).text
print(p_text)  # Output: Welcome to my blog!

이와 같이 requests-html을 사용하면 문자열로부터 HTML을 파싱할 수 있으며, 원하는 데이터를 손쉽게 추출할 수 있습니다.

이상으로 requests-html을 사용하여 문자열로부터 HTML을 파싱하는 방법에 대해 알아보았습니다. 이 라이브러리는 웹 스크래핑과 데이터 추출 작업에 매우 유용합니다. 추가적인 기능과 사용 방법에 대해서는 공식 문서를 참조해주세요.