paint-brush
데이터 과학 프로젝트를 위한 프록시 서버: 종합 가이드~에 의해@proxyway
1,585 판독값
1,585 판독값

데이터 과학 프로젝트를 위한 프록시 서버: 종합 가이드

~에 의해 Proxyway10m2023/06/02
Read on Terminal Reader
Read this story w/o Javascript

너무 오래; 읽다

웹 스크래핑에는 CAPTCHA 및 지역 제한과 같은 자체적인 문제가 있습니다. 프록시는 모든 문제를 해결하지 못합니다. 그러나 현실적인 사용자 에이전트 사용과 같은 기본적인 위생 외에도 웹 스크레이퍼를 계속 실행하는 가장 효과적인 방법입니다.
featured image - 데이터 과학 프로젝트를 위한 프록시 서버: 종합 가이드
Proxyway HackerNoon profile picture
0-item
1-item

데이터 세트를 구축하는 가장 좋은 방법 중 하나는 웹을 스크랩하는 것입니다. Common Crawl 또는 공식 API와 같은 소스가 프로젝트 요구 사항을 충족하지 못하는 경우 특히 중요합니다(예: 데이터가 최신이 아니거나 Twitter에서 가격을 책정하는 경우). 그러나 웹 스크래핑에는 CAPTCHA 및 지역 제한과 같은 자체적인 문제가 있습니다. 이곳은 우리의 영웅(프록시)이 등장하는 곳입니다.


프록시 서버는 자체를 통해 웹에 액세스할 수 있게 해주는 또 다른 컴퓨터(서버, 전화 또는 IoT 장치)입니다. 이렇게 하면 선택적으로 다른 위치에서 새 IP 주소를 얻을 수 있습니다. 프록시는 VPN과 매우 유사합니다. 차이점은 하나 또는 두 개의 연결만 사용하는 대신 한 번에 여러 프록시를 사용할 수 있다는 것입니다.


프록시 서버 작동 방식. 작성자의 이미지.


웹사이트에서 자동 액세스를 방지하기 위해 속도 제한과 더욱 정교한 제한을 구현함에 따라 프록시 서버의 필요성이 점점 더 커지고 있습니다. 때로는 타당한 이유로 상업적 이익을 보호하거나 데이터를 독점하기 위한 경우도 있습니다. 프록시는 모든 문제를 해결하지 못합니다. 그러나 현실적인 사용자 에이전트 사용과 같은 기본적인 위생 외에도 웹 스크레이퍼를 계속 실행하는 가장 효과적인 방법입니다.


프록시 서버 없이 웹사이트를 스크랩할 때 자주 발생합니다. 작성자 이미지, 출처: trustpilot.com


이 가이드는 웹 스크래핑의 맥락에서 프록시 서버에 대한 강력한 이해를 제공합니다. 여기에는 연간 프록시 시장 조사를 위해 수집한 일부 실제 데이터와 함께 이론적 지식이 포함되어 있습니다.

가장 먼저 해야 할 일: 무료 프록시를 사용하고 싶지 않을 가능성이 높습니다.

웹 스크레이퍼(사람)가 프록시가 필요할 때 가장 먼저 하는 충동은 무료 프록시 목록을 사용해 보는 것입니다. 이 목록은 온라인에서 공개적으로 이용 가능합니다. 그 안에 있는 프록시의 대부분은 취약하거나 잘못 관리되는 서버에서 나옵니다.


무료 프록시 서버 목록을 제공하는 웹사이트입니다. 작성자 이미지, 출처: free-proxy.cz


무료 프록시 목록의 한 가지 큰 문제는 누가 이를 운영하는지 알 수 없다는 것입니다. 운영자는 광고 삽입, 트래픽 로깅 및 기타 불쾌한 일로 나타날 수 있는 악의적인 의도를 가지고 있을 수 있습니다. 무섭게 들리지만 데이터 과학자로서 큰 영향을 미칠 가능성은 낮습니다. 운영 체제 수준에서 프록시를 구성하거나 이를 사용하여 은행 계좌에 액세스하지 않을 것입니다.


현실적이기는 하지만 더 지루한 문제는 무료 프록시가 단순히 신뢰할 수 없다는 것입니다.


그들은 오랫동안 온라인에 머무르는 경우가 거의 없습니다. 운영되는 곳은 수백 명의 세입자가 있기 때문에 견딜 수 없을 정도로 느립니다. 그리고 수백 명의 임차인이 있기 때문에 그러한 프록시는 관련 웹 사이트에서 매우 빠르게 스스로를 공격합니다. 작업하기에 좋은 도구는 아닙니다.


이러한 이유로 상업용 프록시 서비스에 대한 비용을 지불하는 것이 좋습니다.

시중에 나와 있는 프록시 서버의 유형

프록시 서버는 대부분 IP 소스로 분류됩니다. 웹 스크래핑 목적의 경우 데이터 센터, 주거용 또는 ISP(정적 주거용이라고도 함) 프록시의 세 가지 유형 중에서 선택할 가능성이 높습니다.

데이터센터 프록시

이러한 프록시는 데이터 센터의 서버에서 호스팅됩니다. Amazon Cloud Services(AWS)의 인스턴스일 수도 있고 다른 클라우드 호스팅 제공업체에서 제공할 수도 있습니다. IP 데이터베이스는 데이터 센터 프록시를 호스팅 또는 데이터 센터 범위에 속하는 것으로 간주합니다.


데이터센터 프록시는 일반적으로 강력한 하드웨어와 인터넷 연결에서 실행되므로 많은 데이터를 빠르게 스크랩할 수 있습니다. IP 평판을 모니터링하지 않지만 모니터링하는 웹 사이트에 어려움을 겪는 대상에게는 매우 효율적인 선택이 될 수 있습니다.

주거용 프록시

이러한 프록시는 실제 사람들의 주거용 장치(따라서 이름)에서 나옵니다. 예를 들어 Windows 노트북, Android 휴대폰 또는 Wi-Fi가 연결된 스마트 냉장고에서 실행할 수 있습니다. IP 데이터베이스는 주거용 프록시를 유선 또는 모바일 연결로 분류합니다.


주거용 프록시는 항상 전 세계의 대규모 주소 풀에 들어옵니다. IP는 호스트 장치의 연결 품질과 가용성에 의존하기 때문에 데이터 센터 IP보다 예측하기 어렵습니다. 그러나 바로 이 기능으로 인해 주거용 프록시는 일반 방문자처럼 보이기 때문에 모든 종류의 웹사이트에서 매우 효과적입니다.

ISP 프록시

이러한 프록시는 데이터 센터의 서버에서 호스팅 되지만 Verizon과 같은 소비자 인터넷 서비스 제공업체에 등록됩니다. 이는 ISP와 계약을 체결하고 ISP가 네트워크에 IP를 알리도록 함으로써 달성됩니다. 이상적으로 IP 데이터베이스는 유선 또는 모바일 연결과 같은 프록시를 식별해야 합니다. 하지만 소규모 지역 ISP가 여전히 데이터 센터로 분류되는 경우도 있습니다.


ISP 프록시는 데이터 센터 프록시의 품질을 유지하지만 더 나은 IP 평판으로 인해 더 효과적으로 스크레이핑할 수 있습니다.

프록시의 출처와 합법적인지 여부

이쯤 되면 “와, 잠깐만! 안드로이드 폰? 정말 봇넷처럼 들리네요! 그것도 합법적인가요?” 이는 물어보기 좋은 질문이며 이는 귀하가 관심을 갖고 있음을 보여줍니다. 많은 사람들은 그렇지 않습니다.


사실은 상업용 프록시 서버와 봇넷 사이에 미세한 경계가 있다는 것입니다. 공급망이 매우 명확한 데이터 센터 프록시에는 덜 적용됩니다. 즉, 클라우드 호스트가 IP를 구입하여 서버에 배치하고 주소를 프록시 공급자에게 임대합니다. 그러나 윤리 문제는 주거용 프록시 네트워크와 매우 관련이 있습니다.


주제를 너무 깊이 탐구하지 않고도 주거용 프록시를 여러 가지 방법으로 얻을 수 있습니다. 가장 널리 사용되는 방법은 데스크톱 및 모바일 애플리케이션의 SDK를 이용하는 것입니다. 이 비디오는 그것이 어떻게 생겼는지에 대한 구체적인 예를 제공합니다.

또 다른 방법은 트래픽을 서비스(예: 무료 VPN, BrightVPN 참조) 또는 돈(Honeygain과 같은 대역폭 공유 앱 사용)으로 직접 교환하는 것입니다.


프록시 공급자는 이와 같은 앱에 SDK를 내장합니다. 작성자 이미지, 출처: Bright-sdk.com


어떤 경우든, IP 소스가 합의를 인지하고 이에 동의하는지 확인하는 책임은 프록시 제공자에게 있습니다. 공급자의 웹사이트에서 프록시 소싱 및 사용 방식에 대한 정보를 찾을 수 있습니다. 이렇게 하면 봇넷을 사용할 가능성이 크게 줄어듭니다.

프록시 서버 구성

프록시 서버는 테넌시순환 에 따라 서로 다른 구성을 가질 수 있습니다.


첫 번째 기준은 동일한 프록시 서버를 동시에 사용할 수 있는 사람 수를 설명합니다. 모든 무료 프록시 목록에는 잠재적으로 수백 명의 테넌트가 있지만 상업용 프록시 공급자는 제한을 적용합니다. 시장 용어에서 공유 또는 부분 공유는 다른 여러 사람(보통 1~4명)과 동일한 프록시 서버를 사용한다는 의미입니다. 비공개 또는 전용이란 귀하가 모든 도메인 또는 특정 도메인에 대해 혼자서 프록시를 사용한다는 것을 의미합니다.


공급자가 완전한 소유권을 갖고 있으므로 테넌시를 선택하는 기능은 데이터 센터 및 ISP 프록시의 기능입니다. 주거용 프록시에서는 사용할 수 없지만 관련성이 낮습니다. 주거용 사용자는 보다 자연스러운 탐색 패턴을 가지며 요청으로 인해 웹사이트에 과부하가 걸릴 가능성이 적습니다.


두 번째 기준인 순환은 프록시 서버가 자동으로 전환되는지 여부를 보여줍니다. IP:포트(1) 형식의 프록시 목록에 자주 포함되지 않는 항목입니다. 끝점:포트(2) 형식을 사용하는 것:


  1. 192.168.0.1:10000

  2. en.proxyprovider.net:10000


엔드포인트는 공급자의 프록시 풀에 대한 게이트웨이 역할을 합니다. 백엔드의 다른 주소를 통해 요청을 자동으로 라우팅합니다. IP 주소가 변경되더라도 엔드포인트는 동일하게 유지됩니다.


순환 프록시는 사실상 무한한 수(수천에서 수백만)의 IP에 액세스할 수 있으므로 웹 스크래핑에 매우 편리합니다. 그러나 이러한 서비스는 종종 트래픽 비용을 청구하는 반면 정적 프록시 목록은 무제한 트래픽을 제공하는 경향이 있습니다.

다양한 프록시 유형 비교

다양한 특성을 기반으로 논의된 프록시 유형을 비교해 보겠습니다.

경제성

순환 프록시 네트워크의 경우 주거용 프록시 비용은 데이터 센터 주소보다 약 8~10배 더 비싸고 순환 ISP 프록시 네트워크보다 약간 저렴합니다.


두 가격대의 기가바이트당 평균 가격입니다. 작성자의 이미지.


정적 프록시 네트워크는 일반적으로 IP 주소별로 요금을 청구합니다. ISP 프록시에 비해 데이터 센터 프록시 서버는 구매 금액에 따라 비용이 2~3배 저렴합니다.

인프라 성능

예측할 수 없는 최종 사용자 장치를 통해 트래픽을 라우팅함에도 불구하고 주요 주거용 프록시 네트워크는 매우 잘 작동합니다. 웹 스크래핑 목적(각 연결 요청에 따라 IP가 회전하는 경우)을 위해 거의 데이터 센터 프록시와 마찬가지로 데이터를 전송합니다.


각 프록시 유형에 대해 최소 50,000번의 연결 요청을 수행한 후 인프라 성공률 중앙값입니다. 작성자의 이미지.


또한 지연 시간에서도 큰 차이를 확인하지 못했습니다. 다음은 글로벌 CDN(응답 크기는 수 킬로바이트) 및 Amazon(응답 크기 약 1MB)의 가장 가까운 서버에 대한 요청에 대한 응답 시간입니다.


CDN에 50,000건 이상의 연결 요청을 하고 Amazon에 2,600건의 연결 요청을 한 후의 평균 응답 시간입니다. 작성자의 이미지.


데이터센터와 ISP 프록시가 지배하는 영역 중 하나는 처리량입니다. 데이터 전송을 위해 더 넓은 파이프가 있습니다. 일부 주거용 프록시는 매우 빠르지만 서버가 1Mbps에 도달하지 못하는 경우도 있습니다. 예측 가능성이 훨씬 낮습니다.

IP 가동 시간

데이터 센터 및 ISP 프록시는 거의 연중무휴로 작동할 수 있으며 중단이나 유지 관리가 발생할 때만 오프라인 상태가 됩니다. 주거용 프록시의 가동 시간은 Windows 또는 Android 장치에서 제공되는지 여부와 같은 다양한 요인에 따라 달라집니다. 어쨌든 서버 기반 프록시에 비해 훨씬 짧고 안정성이 떨어집니다.


우리는 주거용 IP 주소가 얼마나 자주 변경되는지 확인하기 위해 20초마다 IP 데이터베이스에 핑을 보내는 스크립트를 작성했습니다. 다음은 몇 가지 결과입니다.


  • IP #1: 43초
  • IP #2: 1시간 이상
  • IP #3: 3분 33초
  • IP #4: 8분 31초
  • IP #5: 1시간 이상

긁는 효과

데이터센터 프록시는 Google이나 소셜 미디어와 같이 보호되거나 인기가 높은 웹사이트에 맞서 싸우고 있습니다. 이는 사용 기록이 더 깨끗한 전용 IP를 선택하면 어느 정도 완화될 수 있습니다.


Amazon에 최소 2,600번의 연결 요청을 한 후의 중간 성공률입니다. 작성자의 이미지.


때로는 데이터 센터 IP 범위에서 연결하는 것만으로도 웹사이트에서 사용자를 허용하지 않는 경우가 있습니다. 이러한 경우 유일한 방법은 다른 프록시 유형을 사용하는 것입니다.


데이터센터 IP 주소를 차단하는 웹사이트. 작성자의 이미지.


ISP 프록시는 기본적으로 더 나은 IP 평판을 가지므로 초기 조사를 덜 받습니다. 그러나 실제 거주지 주소에 비해 여전히 덜 현실적인 검색 패턴을 가지고 있습니다. 주거용 프록시 서버는 대규모 풀을 형성하고 매우 다양하며 실제 사람들과 검색 기록을 공유합니다. 이러한 특성으로 인해 웹사이트의 광범위한 청중과 구별하기가 매우 어렵습니다.

위치 다양성

데이터 센터 및 ISP 프록시는 데이터 센터에서 호스팅되며 사용 가능한 데이터 센터 수는 제한되어 있습니다. 가장 빈번한 위치는 아마도 Ashburn일 것입니다. 그러나 주요 공급자는 수십 국가의 데이터 센터 IP를 얻을 수 있습니다. 그러나 소규모 지역, 특히 수도가 아닌 도시에 주소가 필요한 경우 운이 좋지 않을 것입니다.


주거용 프록시에는 그러한 제한이 없습니다. 장치와 기꺼이 참여하는 사람만 있으면 어디에서나 누구나 참여할 수 있습니다. 결과적으로 주요 제공업체는 도시, ASN, 때로는 우편번호 타겟팅을 통해 모든 국가에 IP를 제공할 수 있습니다.

인기

주요 프록시 제공업체를 대상으로 한 설문조사에 따르면 대부분의 사람들이 주거용 프록시를 가장 인기 있는 제품으로 선택했습니다. 단 두 개의 공급자만이 데이터 센터 프록시 서버를 지정했으며 ISP 프록시는 없습니다.


설문 조사 응답 수를 기준으로 가장 많이 사용되는 프록시 유형입니다.


Amazon, Google, LinkedIn 등과 같은 주요 공격 대상이 보안 시스템을 강화함에 따라 최근 몇 년간 데이터 센터 프록시의 성능이 저하되고 있습니다. ISP 프록시는 그 자리를 대신할 능력이 있지만 소싱의 어려움으로 인해 활용이 방해를 받습니다. 평판이 좋은 ISP를 참여시키기가 어렵습니다.

귀하의 프로젝트에 대한 권장사항

그러나 이론은 충분합니다. 이 지식을 프로젝트에 어떻게 적용할 수 있나요? 프록시 서버 제안을 통해 여러 시나리오를 모델링했습니다.


이 기사에서 상업적 이익을 배제하기 위해 특정 제공업체에 대해서는 언급하지 않겠습니다. 몇 가지 권장사항을 원하시면 당사 웹사이트에서 주요 제공업체를 비교하십시오(면책조항: 당사는 대부분의 회사와 제휴 관계에 있습니다. 그러나 이는 시장 보고서에 영향을 미치지 않습니다.)

고급 보호 없이 웹사이트 긁기

예: 소규모 뉴스 포털, 전자상거래 웹사이트 또는 Google이 아닌 검색 엔진을 스크랩합니다.

권장 사항: 데이터 센터 프록시 교체. $0.7/GB 이하의 비용으로 2,000~100,000개의 순환 IP 풀에 액세스할 수 있습니다. 차단된 IP 교체에 대해 걱정할 필요가 없으며, 심각한 데이터 추출에도 트래픽 비용이 충분히 낮습니다.

멀티미디어 콘텐츠 다운로드

예: 보관 목적으로 스트리밍 서비스에서 비디오를 다운로드하거나 이미지 수집기에서 사진을 다운로드합니다.

권장 사항: 정적 데이터 센터 또는 ISP 프록시. 속도가 빠르고 트래픽 지출을 계산하지 않습니다. 웹사이트에서 허용하는 경우 데이터센터 프록시를 선택하고 그렇지 않은 경우 ISP 프록시를 선택하세요.

다양한 웹사이트 크롤링

예: 웹 전체에서 브랜드 언급을 검색합니다.

권장 사항: 정적 데이터 센터 또는 ISP 프록시. 크롤링에는 많은 데이터가 필요하므로 트래픽을 기본 측정항목으로 사용하지 않는 프록시 유형을 선택하는 것이 가장 좋습니다. 또한 IP 수가 한정되어 있어도 대상을 전환하면 멀리 갈 수 있습니다.

대규모 인기 대상 스크래핑

예: LinkedIn에서 구인 광고, G2에서 회사 정보 또는 소셜 미디어 네트워크에서 해시태그된 게시물을 추출합니다.

권장사항: 주거용 프록시. 사실상 무한한 수의 IP를 사용하면 프록시가 금지될 위험이 없습니다. 또한 다른 프록시 유형에 비해 더 높은 성공률을 경험할 수 있습니다.

실시간 데이터 수집

예: 주가 변동 추적.

권장사항: 웹사이트에서 허용하는 경우 데이터센터가 프록시됩니다. 그렇지 않으면 ISP 프록시**.** 빠른 연결 속도로 데이터를 나타나는 대로 추출할 수 있습니다.

하이퍼 지역화된 페이지에 액세스

예: 현지화된 Google 검색어에 대한 검색 엔진 페이지 위치 모니터링.

권장 사항: 도시 수준 IP 필터링을 지원하는 주거용 프록시.

결론

이 기사에서는 웹 스크래핑 목적을 위한 프록시 서버에 대해 간략하게 소개했습니다. 이를 읽은 후에는 기본 프록시 유형, 구성 및 데이터 과학 프로젝트에 가장 도움이 되는 설정을 구별할 수 있어야 합니다.