Oʻchirish darajasidagi proksi#
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()import { chromium } from "playwright";
const browser = await chromium.launch({
proxy: { server: "http://res.proxy-cyber.com:9000", username: "USER-cc-us-sid-run1-ttl-30m", password: "PASS" },
});
const page = await browser.newPage();
await page.goto("https://api.ipify.org");
console.log(await page.innerText("body"));
await browser.close();Har bir mustaqil ish oqimi uchun alohida sessiya identifikatorini qoʻllang, agar belgilangan geytni qoʻllab-quvvatlasa. Ulanish maʼlumotlarida ruxsat etilgan vaqt va joy parametrlarini tasdiqlang. Uy qurilmasi talab qilingan vaqtdan oldin uzilishi mumkin; seans kunlar davomida bir xil IP'ga ega boʻlishini kafolatlamaydi. Faqat bitta manzil uchun, ajratilgan statik mahsulot bilan taqqoslang.
Kontekst boʻyicha proksilar#
Bir brauzerda bir necha mamlakat yoki sessiyalarni ishga tushirish uchun, joy egasi proksi bilan boshlang va har bir kontekstga oʻzining konfiguratsiyasini bering. Chromium'ga har bir kontekst boʻyicha proksilar uchun boshlanish darajasidagi proksi kerak boʻladi.
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"})const browser = await chromium.launch({ proxy: { server: "http://per-context" } });
const de = await browser.newContext({ proxy: { server: "http://res.proxy-cyber.com:9000", username: "USER-cc-de-city-berlin-sid-de1-ttl-30m", password: "PASS" } });
const us = await browser.newContext({ proxy: { server: "http://res.proxy-cyber.com:9000", username: "USER-cc-us-state-tx-sid-us1-ttl-30m", password: "PASS" } });Kontekstni chiqib ketishga moslashtirish#
Har bir kontekstga uning mamlakati mahalliy va vaqt zonasini bering, IP, til va soatlar muvofiqlashsin: locale=\"de-DE\", timezone_id=\"Europe/Berlin\" Berlin konteksti uchun. Muvofiq kelmaydiganlar IP oʻzidan koʻra kuchliroq bot signalidir.
Gigabaytlarni tejash: sizga kerak boʻlmagan narsani bloklash#
def block(route):
if route.request.resource_type in {"image", "media", "font", "stylesheet"}:
return route.abort()
return route.continue_()
page.route("**/*", block)await page.route("**/*", (route) => {
const t = route.request().resourceType();
return ["image", "media", "font", "stylesheet"].includes(t) ? route.abort() : route.continue();
});Render qilingan sahifa 3-5 MB ogʻirlikda boʻlishi mumkin; uning HTML va API chaqiriqlari bir necha yuz kilobaytni tashkil qiladi. Bir GB tarmogʻida bu yagona qoida hisobni 80-90%ga kamaytiradi.
Tekshirish va muammolarni hal qilish#
- Avval IP-echo xizmatni oching va mamlakatni tekshiring; keyin shahar uchun geolokatsiya qidiruvini koʻring.
- A
net::ERR_TUNNEL_CONNECTION_FAILEDyokiERR_PROXY_CONNECTION_FAILEDishga tushirilganda, ishonchli maʼlumotlar yoki parametr xato degani; cURL bilan shu URL'ni tekshirib, geyt kodini oʻqish. - WebRTC Playwright kontekstlarida faqat siz bloklaganingizda, avvaldan oʻchiriladi; add
--disable-webrtcmaxfiylik muhim boʻlganda STUNni qattiqlashtirib yoki bloklab qoʻyish.
Odamlar soʻraydigan savollar.#
Har bir tabda boshqa proksi boʻlishi mumkinmi?
Har bir kontekstda uning proksisini taqsimlash mumkin; kontekst ichidagi tablar (sahifalar) oʻz proksisini oʻrtoqlashadi. Har bir sessiya yoki mamlakat uchun bitta kontekst yaratiladi.
Playwright SOCKS5 proksilarni tasdiqlash bilan qoʻllay oladimi?
Chromium SOCKS5 ishonchli manbalarini qabul qilmaydi; foydalanuvchi nomi va maxfiy soʻz bilan HTTP proksisini 9000 portda ishlating yoki server IP'ni oq roʻyxatga kiriting va ishonchli maʼlumotlarsiz socks5://res.proxy-cyber.com:9001 ni qoʻllang.