requests-html은 파이썬의 HTTP 클라이언트 라이브러리인 requests를 사용하여 웹페이지의 HTML을 가져오고, HTML 내에서 원하는 텍스트 데이터를 추출하는 기능을 제공합니다. 이를 통해 웹 스크래핑 작업을 간편하게 수행할 수 있습니다. 이번 블로그 포스트에서는 requests-html을 사용하여 텍스트 데이터를 추출하는 방법을 알아보겠습니다.
requests-html 설치하기
먼저 requests-html을 설치해야 합니다. pip를 사용하여 다음 명령을 실행해주세요:
pip install requests-html
HTML 가져오기
requests-html을 사용하여 웹페이지의 HTML을 가져오기 위해서는 requests_html
모듈을 import 해야 합니다. 아래와 같은 코드를 사용하여 HTML을 가져올 수 있습니다:
from requests_html import HTMLSession
session = HTMLSession()
response = session.get('https://www.example.com')
html = response.html
HTMLSession
클래스를 사용하여 새로운 세션을 생성하고, get
메소드를 사용하여 원하는 웹페이지의 URL을 전달합니다. 이후 html
속성을 사용하여 HTML 객체를 얻을 수 있습니다.
텍스트 데이터 추출하기
requests-html을 사용하여 텍스트 데이터를 추출하기 위해서는 HTML 객체의 text
속성을 사용합니다. 아래의 예제 코드는 웹페이지의 제목을 추출하는 방법을 보여줍니다:
title = html.find('title', first=True).text
print(title)
위의 코드에서 find
메소드는 CSS 선택자를 사용하여 HTML 요소를 찾습니다. 이 예제에서는 ‘title’ 태그를 찾아 그 텍스트 데이터를 추출하여 출력합니다.
여러 개의 HTML 요소를 찾아야 할 경우 find
메소드 대신 findall
메소드를 사용할 수 있습니다. 아래의 예제 코드는 웹페이지의 모든 단락(paragraph) 요소의 텍스트 데이터를 추출하는 방법을 보여줍니다:
paragraphs = html.findall('p')
for p in paragraphs:
text = p.text
print(text)
CSS 선택자를 사용하여 원하는 HTML 요소를 찾고, 해당 요소의 text
속성을 사용하여 텍스트 데이터를 추출할 수 있습니다.
결론
requests-html은 파이썬에서 텍스트 데이터 추출을 위한 강력하고 유연한 도구입니다. HTML을 가져오고, CSS 선택자를 사용하여 원하는 요소를 찾아 텍스트 데이터를 추출할 수 있습니다. 이를 통해 웹 스크래핑 작업을 효과적으로 수행할 수 있습니다.
더 자세한 내용은 requests-html 공식 문서를 참고하세요.