통합 · 중급

Playwright와 프록시 사용: 브라우저당 1번 출구 또는 컨텍스트당

Playwright는 브라우저의 시작 또는 브라우저 컨텍스트에 프록시를 취합니다. 크리덴셜과 함께 각 컨텍스트는 브라우저를 다시 시작하지 않고 자체 국가에서 자체 Sticky 세션이 될 수 있습니다.

2 분 읽음 5개의 단면도 검토일 편집팀 Proxy Cyber

실행 수준 프록시#

팟캐스트
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://res.proxy-cyber.com:9000",
        "username": "USER-cc-us-sid-run1-ttl-30m",
        "password": "PASS",
    })
    page = browser.new_page()
    page.goto("https://api.ipify.org")
    print(page.inner_text("body"))
    browser.close()

지정된 게이트웨이가 지원되는 각 독립적 인 워크플로우에 대한 별도의 세션 식별자를 사용합니다. 연결 세부 사항의 허용 된 기간 및 위치 매개 변수를 확인하십시오. 요청 된 기간 전에 주거 장치가 차단 될 수 있습니다. 끈적한 세션은 일 동안 동일한 IP를 보장하지 않습니다. 고정 된 주소의 경우 전용 정적 인 제품을 비교하십시오.

Per-context 프록시#

브라우저에서 여러 국가 또는 세션을 실행하려면, placeholder 프록시를 실행하고 각 컨텍스트를 부여합니다. 크롬은 per-context 프록시에 대한 실행 수준 프록시를 필요로 합니다.

팟캐스트
browser = p.chromium.launch(proxy={"server": "http://per-context"})

de = browser.new_context(proxy={"server": "http://res.proxy-cyber.com:9000", "username": "USER-cc-de-city-berlin-sid-de1-ttl-30m", "password": "PASS"})
us = browser.new_context(proxy={"server": "http://res.proxy-cyber.com:9000", "username": "USER-cc-us-state-tx-sid-us1-ttl-30m", "password": "PASS"})

종료에 대한 상황에 일치#

각 컨텍스트는 해당 국가의 현지 및 시간대를 정합니다. IP, 언어 및 시계는 다음과 같습니다. locale=\"de-DE\", timezone_id=\"Europe/Berlin\" 베를린 컨텍스트의 경우. Mismatches는 IP 자체보다 더 강한 봇 신호입니다.

gigabytes 저장 : 당신이 필요로하지 않는 블록#

팟캐스트
def block(route):
    if route.request.resource_type in {"image", "media", "font", "stylesheet"}:
        return route.abort()
    return route.continue_()

page.route("**/*", block)

렌더링 된 페이지는 3 ~ 5 MB를 무게 할 수 있습니다. HTML 및 API는 100 킬로바이트를 호출합니다. 이 단일 규칙은 80 ~ 90 %의 청구서를 잘라냅니다.

검증 및 문제 해결#

  • IP-echo 서비스를 먼저 열고 국가를 확인; 그 다음 도시에 대한 지리적 위치 파악.
  • A net::ERR_TUNNEL_CONNECTION_FAILED 또는 ERR_PROXY_CONNECTION_FAILED 시작은 credentials 또는 매개변수가 잘못되었는지 의미합니다. cURL과 동일한 URL을 테스트하여 게이트웨이 코드를 읽습니다.
  • WebRTC는 당신이 그것을 막을 경우에만 Playwright 맥락에서 기본적으로 비활성화됩니다; 추가 --disable-webrtc 개인 정보 보호 문제 때 스타일 경화 또는 블록 STUN.

자주 묻는 질문#

각 탭에는 다른 프록시가 있습니까?

각 컨텍스트를 할 수 있습니다; 탭 (페이지) 컨텍스트 내에서 프록시를 공유합니다. 세션 또는 국가 당 하나의 컨텍스트를 만듭니다.

Playwright가 SOCKS5 프록시를 인증합니까?

Chromium은 SOCKS5 자격 증명을 수용하지 않습니다. 사용자 이름과 암호로 포트 9000에 HTTP 프록시를 사용하거나 서버 IP를 화이트리스트하고 Sponge5://res.proxy-cyber.com:9001를 credentials없이 사용하십시오.

당신의 계정

한 계정에서 프록시 관리

네트워크, 장소 주문 및 한 대시보드에서 균형 및 지원 요청을 따르십시오. 우리의 팀 리뷰 지불 및 배달 후 연결 세부 사항을 제공합니다.

계정 만들기