어두운 proxyscrape 로고

파이썬에서 요청 모듈과 함께 프록시를 사용하는 방법

가이드, 방법, 프록시, 3월-03-20225분 읽기

Every computer gets a unique Internet Protocol (IP) address that identifies the computer and its geographic location when connected to the Internet. Your computer sends out a request whenever it needs any information from the Internet. The request is sent to a target computer that checks the type of information being asked for. The target

모든 컴퓨터는 인터넷에 연결될 때 컴퓨터와 컴퓨터의 지리적 위치를 식별하는 고유한 인터넷 프로토콜(IP) 주소를 얻습니다. 컴퓨터는 인터넷에서 정보가 필요할 때마다 요청을 보냅니다. 요청은 요청 중인 정보 유형을 확인하는 대상 컴퓨터로 전송됩니다. 대상 컴퓨터는 당사의 IP 주소로 정보를 제공할 수 있는 경우 정보를 다시 보냅니다. 때때로 컴퓨터는 신원을 밝히지 않고 인터넷에서 정보를 얻으려고 합니다. 이러한 정보는 일반적으로 차단되지만 클라이언트와 서버 컴퓨터 사이의 중개자 역할을 하는 프록시를 사용하여 정보를 얻을 수 있습니다.

각 프록시 서버에는 IP 주소가 있으므로 사용자가 프록시를 통해 웹사이트에 액세스하도록 요청하면 웹사이트는 데이터를 프록시 서버 IP로 전송하여 사용자에게 전달합니다.

  • 프록시는 웹 스크레이퍼의 신원을 숨기고 해당 트래픽을 일반 사용자 트래픽처럼 보이게 합니다.
  • 프록시는 웹사이트에 추가적인 보안을 제공하고 인터넷 트래픽의 균형을 유지합니다.
  • 프록시는 웹 사용자의 데이터를 보호하거나 국가의 검열 메커니즘에 의해 차단된 웹사이트에 액세스할 수 있도록 도와줍니다.

파이썬에서 요청 모듈과 함께 프록시 사용

파이썬 요청에 프록시를 사용하려면 아래 단계를 따라야 합니다.

가져오기 요청

간단한 HTTP 라이브러리인 요청 패키지를 가져옵니다. 이 패키지를 통해 URL에 쿼리 문자열을 수동으로 추가하지 않고도 쉽게 요청을 보낼 수 있습니다. 아래 명령어를 사용하여 요청을 가져올 수 있습니다.

가져오기 요청

사전 만들기

HTTP 및 HTTPS 연결을 정의하는 프록시 사전을 만들어야 합니다. 사전 변수에 프로토콜을 프록시 URL에 매핑하는 "proxies"와 같은 이름을 지정할 수 있습니다. 또한 URL 변수를 스크랩하려는 웹사이트로 설정해야 합니다.

proxies = {
  "http":'http://203.190.46.62:8080',
  "https":'https://111.68.26.237:8080'
}
url = 'https://httpbin.org/ip'

여기서 사전은 두 개의 개별 프로토콜, 즉 HTTP와 HTTPS에 대한 프록시의 URL을 정의합니다.

응답 변수 만들기

요청 메서드 중 하나를 사용하는 응답 변수를 만들어야 합니다. 이 메서드는 두 개의 인수를 받습니다:

  • 생성한 URL
  • 정의한 사전
response = requests.get(url,proxies = proxies)
print(response.json())

출력은 다음과 같습니다:

또한 Python의 요청 모듈을 사용하여 아래와 같이 IP 주소를 회전할 수도 있습니다.

아래 명령을 사용하여 요청 모듈을 가져와야 합니다.

가져오기 요청

보내기_요청 함수 만들기

대부분의 무료 프록시는 https 프로토콜을 사용하지 않으므로 sending_request 함수를 생성하고 http 프록시를 사용하는 것을 선호해야 합니다. 대부분의 무료 프록시가 작동하지 않기 때문에 시도 예외 블록을 사용했습니다.

def sending_request(session, proxy):
    try:
        response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
        print(response.json())
    except:
        pass

프록시_텍스트 읽기

무료 프록시 목록이 포함된 list_proxies.txt 파일을 읽고 proxies라는 변수에 저장해야 합니다.

if __name__ == "__main__":
   open('list_proxies.txt', 'r')  파일로 사용합니다:
        프록시 = file.readlines()

세션 만들기

요청 모듈에서 세션을 생성하고 아래 단계를 따라야 합니다.

  • 프록시를 통한 루프
  • 프록시와 세션을 sending_request 함수에 전달합니다.
요청.세션() 세션으로 사용합니다:
   프록시의 프록시에 대해 
        sending_request(세션, 프록시)

아래와 같이 프록시 목록이 표시됩니다.

다음은 몇 가지 프록시이며, 목록에는 더 많은 프록시가 있지만 모두 작동하지 않습니다.

프록시의 필요성

모든 비즈니스는 아래에 언급된 프록시를 사용해야 하는 5가지 중요한 기업적 이유를 알아야 합니다.

민감한 작업을 익명으로 수행하기

프록시는 웹 트래픽을 익명화할 수 있는 기능으로 잘 알려져 있습니다. 하지만 대부분의 사람들은 비즈니스 업계에서 프록시의 중요성을 이해하지 못합니다. 프록시 서버는 보안 담당자와 기자가 자신과 회사, 취재원, 고객, 파트너를 보호할 수 있게 해줍니다.

프록시를 사용하여 개발 및 현재 연구 및 기타 회사 활동을 보호할 수도 있습니다. 회사에서 프록시와 잠재적인 스파이를 사용하여 웹 트래픽을 추적하여 비즈니스가 개발 중인 내용을 파악한다고 가정해 보세요. 이 경우 직원을 쉽게 추적할 수 없습니다.

기업 및 기관 보안 개선

데이터 유출은 기업 이미지와 금전적 손실 측면에서 모두 비용이 많이 든다는 것을 알고 계실 것입니다. 따라서 기업들은 해커에 대해 걱정하고 있습니다. 하지만 프록시는 데이터 유출 가능성을 줄여주므로 도움이 될 수 있습니다. 프록시는 서버와 외부 트래픽 사이에 추가적인 보안 계층을 추가합니다. 또한 프록시 서버는 인터넷에 접속하여 네트워크 외부 컴퓨터의 요청을 중계하는 버퍼 역할을 합니다.

해커가 프록시 서버에 액세스할 수 있는 경우에도 데이터가 저장된 웹 소프트웨어를 실행하는 서버에 도달하는 데 어려움을 겪을 수 있습니다.

직원 인터넷 사용 제어

데이터 유출은 기업 이미지와 금전적 손실 측면에서 모두 비용이 많이 든다는 것을 알고 계실 것입니다. 따라서 기업들은 해커에 대해 걱정하고 있습니다. 하지만 프록시는 데이터 유출 가능성을 줄여주므로 도움이 될 수 있습니다. 프록시는 서버와 외부 트래픽 사이에 추가적인 보안 계층을 추가합니다. 또한 프록시 서버는 인터넷에 접속하여 네트워크 외부 컴퓨터의 요청을 중계하는 버퍼 역할을 합니다.

해커가 프록시 서버에 액세스할 수 있는 경우에도 데이터가 저장된 웹 소프트웨어를 실행하는 서버에 도달하는 데 어려움을 겪을 수 있습니다.

대역폭 절약 및 더 빠른 속도 달성

어떤 사람들은 프록시 서버가 백그라운드에서 많은 양의 작업을 수행하기 때문에 인터넷 속도가 느려진다고 생각합니다. 하지만 항상 그런 것은 아닙니다. 프록시 서버를 사용하면 대역폭을 절약하고 속도를 높일 수 있습니다:

  • 여러 사용자가 액세스하는 웹 페이지 및 파일 캐싱
  • 트래픽 압축
  • 웹사이트에서 광고 제거

어떤 프록시를 사용해야 하나요?

비즈니스에 모든 혜택을 제공하는 유일한 프록시 유형이 있다고 생각할 수 있습니다:

  • 데이터 유출 방지
  • 경쟁력 있는 가격 설정
  • 소셜 미디어에서 귀중한 데이터 수집
  • 효과적인 SEO 전략 구축

실제로 사용 가능한 프록시 유형은 다양하며, 요구 사항이나 사용 사례에 따라 사용할 프록시가 달라집니다.

다음은 가장 일반적인 프록시 유형입니다.

데이터 센터 프록시

데이터 센터 프록시는 전 세계 기업에서 가장 많이 사용하는 프록시입니다. 데이터 센터에서 이러한 프록시를 생성하고 관리합니다. 이러한 프록시는 저렴하고 쉽게 구할 수 있으므로 시스템 보안을 강화해야 하는 경우 사용할 수 있습니다. 하지만 일부 웹사이트에서는 봇과 유사한 활동과 연관되어 사용을 금지하고 있습니다.

주거용 프록시

거주지 프록시는 실제 거주지와 연결되며 인터넷 서비스 제공업체(ISP)가 제공하는 실제 사람의 IP 주소를 사용합니다. 이를 사용하여 웹사이트에 연결하면 일반 사용자처럼 보입니다. 따라서 탐지 및 금지될 가능성이 적습니다. 주거용 프록시를 사용하여 대량의 웹 데이터를 스크랩하고 익명성과 보안을 향상시킬 수 있습니다.

결론

지금까지 프록시가 클라이언트와 서버 컴퓨터 사이에서 중계자 역할을 한다고 설명했습니다. 사용자가 정보를 요청할 때마다 컴퓨터는 이 요청을 프록시로 보내고, 프록시는 다른 IP 주소를 사용하여 정보를 대상 컴퓨터로 보냅니다. 따라서 IP 주소는 기밀로 유지됩니다. 또한 파이썬의 요청 모듈과 함께 프록시를 사용하여 필요에 따라 다양한 작업을 수행할 수 있습니다. 데이터센터 프록시의 속도와 주거용 프록시의 높은 익명성을 갖춘 고정 IP가 필요한 경우, 새로운 요청이 있을 때마다 IP 주소가 변경되지 않으므로 고정 프록시를 사용하는 것이 좋습니다. 반대로 로테이팅 프록시는 테스트 및 스크래핑에 이점을 제공합니다.