[파이썬] requests-html 사용자 에이전트 설정

requests-html 사용자 에이전트 설정

Requests-HTML은 Python의 HTTP 라이브러리인 Requests와 HTML 파싱 라이브러리인 BeautifulSoup을 통합한 라이브러리입니다. 이 라이브러리를 사용하면 웹페이지에서 데이터를 스크래핑하는데 유용하게 활용할 수 있습니다.

Requests-HTML을 사용할 때, 기본으로 설정된 사용자 에이전트(즉, 웹 브라우저) 정보를 변경하여 웹 서버로부터 원하는 응답을 받을 수 있습니다. 사용자 에이전트를 설정하면 웹 브라우저에서 접속하는 것처럼 요청을 보낼 수 있으며, 일부 웹 사이트는 특정 사용자 에이전트에서만 접속을 허용하는 경우가 있기 때문에 설정하는 것이 필요합니다.

사용자 에이전트 설정하는 방법

Requests-HTML을 사용하여 웹페이지에 접속할 때 사용자 에이전트를 설정하려면 다음과 같은 단계를 따르면 됩니다:

  1. 먼저, Requests-HTML의 HTMLSession 객체를 생성합니다:
from requests_html import HTMLSession

session = HTMLSession()
  1. 사용자 에이전트를 포함한 웹페이지에 접속합니다. 이때 headers 인자를 사용하여 사용자 에이전트를 설정합니다:
response = session.get(url, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'})

위의 코드에서 headers 인자의 ‘User-Agent’ 값은 원하는 사용자 에이전트 정보로 변경해야합니다. 위의 예제는 Mozilla Firefox 웹 브라우저에서의 사용자 에이전트 정보를 설정한 것입니다. 또한, url은 접속하려는 웹페이지의 URL입니다.

  1. 응답으로 받은 페이지의 HTML을 파싱하여 데이터를 추출합니다:
content = response.html
# 데이터 추출 및 가공 작업 수행

위의 예제 코드에서 response.html은 요청한 페이지의 HTML을 나타내는 객체입니다. 그 이후에는 웹 스크래핑 목적에 맞게 데이터를 추출하고 가공하는 작업을 수행하면 됩니다.

마치며

Requests-HTML을 사용하여 웹 스크래핑을 할 때, 사용자 에이전트 설정은 매우 중요한 요소입니다. 일부 웹 사이트는 확인된 웹 브라우저에서만 접속을 허용하며, 사용자 에이전트 설정 없이 요청을 보내면 접속이 차단될 수 있습니다. 따라서, 웹 스크래핑을 안전하게 수행하기 위해서는 올바른 사용자 에이전트를 설정하는 것이 필수적입니다.