[python] Requests-HTML를 이용하여 웹 페이지의 링크 추출하기

많은 웹 스크래핑 작업은 웹 페이지에서 데이터를 추출하고 가공해야 하는데, 이때 Requests-HTML 라이브러리는 훌륭한 선택이 될 수 있습니다. Requests-HTML는 Requests 라이브러리를 기반으로 한 HTML 처리를 위한 라이브러리로, 간단하고 사용하기 쉬운 API를 제공합니다.

이번 블로그 포스트에서는 Requests-HTML를 사용하여 웹 페이지에서 링크를 추출하는 방법을 알아보겠습니다.

Requests-HTML 설치하기

먼저, Requests-HTML를 설치해야 합니다. pip를 이용하여 다음 명령어를 실행해주세요:

pip install requests-html

링크 추출하기

Requests-HTML를 사용하여 웹 페이지의 링크를 추출하려면 다음 단계를 따르면 됩니다:

  1. Requests-HTML를 가져옵니다:
from requests_html import HTMLSession
  1. HTML 세션을 생성합니다:
session = HTMLSession()
  1. 원하는 웹 페이지의 HTML을 가져옵니다:
response = session.get('http://example.com')
  1. HTML 문서에서 원하는 요소를 선택합니다. 여기에서는 모든 링크를 추출하기 위해 “a” 태그를 선택할 것입니다:
links = response.html.find('a')
  1. 추출된 링크를 순회하면서 필요한 작업을 수행합니다. 예를 들어, 링크의 URL과 텍스트를 출력하려면 다음과 같이 할 수 있습니다:
for link in links:
    url = link.attrs['href']
    text = link.text
    print(f"URL: {url}")
    print(f"Text: {text}")

예제 코드

아래는 위 단계를 포함한 예제 코드입니다:

from requests_html import HTMLSession

session = HTMLSession()
response = session.get('http://example.com')
links = response.html.find('a')

for link in links:
    url = link.attrs['href']
    text = link.text
    print(f"URL: {url}")
    print(f"Text: {text}")

요약

Requests-HTML를 사용하면 간단하고 효율적으로 웹 페이지의 링크를 추출할 수 있습니다. 이 라이브러리는 웹 스크래핑 작업을 더 쉽게 만들어주며, 다양한 기능과 유연성을 제공합니다. 원하는 웹 페이지에서 링크를 추출해야 할 때는 Requests-HTML를 고려해보세요.

참고 자료