[python] 요청에 사용자 에이전트(User-Agent) 설정하기

웹 스크래핑이나 웹 크롤링을 수행할 때, 웹 사이트에서는 사용자 에이전트(User-Agent) 정보를 통해 요청을 구분합니다. 따라서, 필요한 경우에는 웹 요청을 보낼 때 사용자 에이전트를 설정해야 합니다. 이번 포스트에서는 Python을 사용하여 웹 요청을 보낼 때 사용자 에이전트를 설정하는 방법에 대해 알아보겠습니다.

requests 라이브러리 사용하기

Python에서 웹 요청을 보내기 위해 requests 라이브러리를 사용할 수 있습니다. requests 라이브러리는 간단하고 사용하기 쉬운 API를 제공하여 웹 요청을 쉽게 처리할 수 있습니다.

아래는 requests 라이브러리를 사용하여 웹 요청을 보낼 때 사용자 에이전트를 설정하는 예제 코드입니다.

예제 코드

import requests

url = 'https://www.example.com'
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'
}

response = requests.get(url, headers=headers)

if response.status_code == 200:
    print('웹 요청이 성공했습니다.')
else:
    print('웹 요청이 실패했습니다.')

위 코드에서는 headers 변수에 사용자 에이전트 정보를 포함시킵니다. 예제에서는 Chrome 브라우저의 User-Agent 정보를 사용하였습니다. 따라서, 해당 웹 사이트에서는 우리가 브라우저에서 접속한 것과 같은 요청으로 인식할 것입니다.

웹 요청을 보낼 때 headers 매개변수를 사용하면, 추가적인 헤더 정보를 포함시킬 수 있습니다. 따라서, User-Agent 외에도 다른 헤더 정보를 설정할 수도 있습니다.

결론

Python의 requests 라이브러리를 사용하여 웹 요청을 보낼 때, 사용자 에이전트를 설정하는 방법에 대해 알아보았습니다. 사용자 에이전트를 설정함으로써 웹 사이트에서 우리의 요청을 브라우저로 인식할 수 있게 되며, 웹 스크래핑 또는 웹 크롤링 작업을 더욱 효과적으로 수행할 수 있습니다.

유의할 점은 오용하지 않도록 서비스 제공자의 규정을 따르는 것이 중요합니다. 사용자 에이전트를 설정할 때, 해당 웹 사이트의 이용 약관 및 로봇 배제 프로토콜(Robots.txt)을 준수하는 것을 권장합니다.

참고 자료