[python] Requests-HTML를 이용하여 웹 페이지의 통계 데이터 추출하기

이번에는 Python의 Requests-HTML 라이브러리를 사용하여 웹 페이지에서 통계 데이터를 추출하는 방법에 대해 알아보겠습니다. 이를 통해 웹 크롤링을 통해 웹 페이지의 통계 정보를 가져올 수 있습니다.

1. Requests-HTML 라이브러리 설치하기

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

pip install requests-html

2. 웹 페이지에서 데이터 추출하기

다음은 Requests-HTML를 사용하여 웹 페이지에서 데이터를 추출하는 방법입니다.

from requests_html import HTMLSession

url = "웹 페이지 URL"

session = HTMLSession()
response = session.get(url)

# 특정 CSS 선택자를 사용하여 원하는 데이터 추출
data = response.html.find("#css_selector", first=True).text

print(data)

위의 코드를 사용하면 웹 페이지의 특정 CSS 선택자를 찾아 해당 데이터를 추출할 수 있습니다. url 변수에 웹 페이지의 URL을 지정하고, #css_selector 부분을 원하는 CSS 선택자로 변경하여 사용하면 됩니다. 추출한 데이터는 data 변수에 저장되고, 출력하여 확인할 수 있습니다.

3. 예제: 네이버 실시간 검색어 추출하기

위에서 배운 방법을 활용하여 네이버의 실시간 검색어를 추출하는 예제를 살펴보겠습니다.

from requests_html import HTMLSession

url = "https://www.naver.com/"

session = HTMLSession()
response = session.get(url)

# 실시간 검색어를 포함한 요소의 CSS 선택자
selector = ".ah_list .ah_k"

# CSS 선택자를 사용하여 실시간 검색어 추출
search_keywords = response.html.find(selector)

for keyword in search_keywords:
    print(keyword.text)

위의 코드를 실행하면 네이버 메인 페이지에서 실시간 검색어를 추출하여 출력합니다. selector 변수에는 실시간 검색어를 포함한 요소의 CSS 선택자를 지정하고, 이를 사용하여 response.html.find() 함수를 호출하여 실시간 검색어를 추출합니다.

4. 결론

Requests-HTML 라이브러리를 사용하면 Python을 이용하여 웹 페이지에서 통계 데이터를 추출할 수 있습니다. 예제 코드와 설명을 참고하여 원하는 웹 페이지에서 원하는 데이터를 추출해보세요. Requests-HTML의 강력한 기능을 활용하여 다양한 웹 크롤링 작업을 수행할 수 있습니다.

참고 자료