[python] Requests-HTML를 사용하여 웹 페이지의 프록시 설정하기

웹 스크래핑하는 동안 Requests-HTML 라이브러리를 사용하면 편리하게 작업할 수 있습니다. 이 라이브러리를 사용하면 웹 페이지의 HTML을 가져오고 파싱하는 것이 간단해집니다. 하지만 때로는 웹 페이지에 접근할 때 프록시를 설정해야 할 수도 있습니다.

이 튜토리얼에서는 Requests-HTML를 사용하여 웹 페이지에 프록시를 설정하는 방법에 대해 알아보겠습니다.

Requests-HTML 설치하기

Requests-HTML를 사용하기 위해 먼저 해당 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 Requests-HTML을 설치할 수 있습니다:

pip install requests-html

프록시 설정하기

Requests-HTML를 사용하여 프록시를 설정하려면 session 객체를 만들고 proxies 매개변수를 통해 프록시를 설정해야 합니다. 다음은 예제 코드입니다:

from requests_html import HTMLSession

proxies = {
    'http': 'http://프록시_주소:프록시_포트',
    'https': 'http://프록시_주소:프록시_포트',
}

session = HTMLSession()
session.proxies = proxies

response = session.get('https://example.com')

위 코드에서 프록시_주소프록시_포트는 실제 프록시 서버의 주소와 포트로 대체되어야 합니다. 프록시 설정 후 session 객체를 사용하여 웹 페이지에 접근할 수 있습니다. 이제 response 객체를 사용하여 필요한 작업을 수행할 수 있습니다.

예외 처리하기

프록시 설정 중에 발생할 수 있는 예외를 처리하기 위해 try-except 구문으로 코드를 감싸는 것이 좋습니다. 이를 통해 문제가 발생할 경우 예외를 잡고 적절한 조치를 취할 수 있습니다. 예를 들면 다음과 같습니다:

from requests_html import HTMLSession, ProxyError

proxies = {
    'http': 'http://프록시_주소:프록시_포트',
    'https': 'http://프록시_주소:프록시_포트',
}

session = HTMLSession()
session.proxies = proxies

try:
    response = session.get('https://example.com')
    response.raise_for_status()
except ProxyError as e:
    print('프록시 연결에 문제가 있습니다:', e)
except Exception as e:
    print('오류가 발생했습니다:', e)

위 코드에서 ProxyError 예외는 프록시 연결에 문제가 있을 때 발생하며, 그 외의 예외는 모두 Exception으로 처리됩니다.

마무리

이제 Requests-HTML를 사용하여 웹 페이지에 프록시를 설정하는 방법에 대해 배웠습니다. 프록시를 설정하여 웹 스크래핑 작업을 보다 안정적으로 진행할 수 있습니다. 참고로 프록시 서버를 사용하려면 해당 서버에 접근 권한이 있어야 합니다.

더 자세한 내용은 Requests-HTML 문서를 참조하시기 바랍니다.