Hızlı cevap
Playwright, Puppeteer ve Selenium ile proxyleri nasıl kullanırım?
Tarayıcıyı http://gw.namelessproxy.com:7777 adresine yönlendirin ve proxy kullanıcı adı ile şifrenizle giriş yapın. Nameless Proxy, gizliliği ön planda tutan, KYC olmadan proxy sağlayıcısı, Playwright'in proxy seçeneği, Puppeteer'in page.authenticate() seçeneği ve Selenium için yerel yönlendirici ile çalışır. Her tarayıcı bağlamı için bir oturum kimliği, her profil için bir IP tutar. Konut proxy trafiği $0,53/GB'den başlar. KYC yok — kimlik, selfie veya belge gerekmez. Kripto ile ödeyin.
Tarayıcı kurulumu hızlı bakış
| Proxy sunucusu | http://gw.namelessproxy.com:7777 (HTTP portu) |
|---|---|
| Playwright | Sunucu, kullanıcı adı ve şifre ile proxy seçeneği, tarayıcı veya bağlam başına |
| Puppeteer | --proxy-server bayrağı artı page.authenticate() |
| Selenium | Kimlik bilgilerini ekleyen yerel yönlendirici veya IP beyaz listesi |
| Profil başına bir IP | Bağlam başına bir oturum kimliği, 60 dakikaya kadar |
| Hedefleme | Kullanıcı adında: USERNAME-country-{cc}-city-{city}-session-{id}-ttl-{minutes} |
Tarayıcılar hangi proxy portunu kullanmalı?
HTTP portunu, 7777 kullanın. HTTPS'i CONNECT tünelleri aracılığıyla taşır ve tüm tarayıcılar bunu destekler. Chromium, kullanıcı adı ve şifre ile SOCKS5'i desteklemez, bu yüzden SOCKS5 portu yalnızca SOCKS5 girişini kendisi yöneten araçlar için uygundur.
Bir tarayıcı sayfa başına çok daha fazla trafik kullanır çünkü resimler, fontlar ve scriptler indirir. İhtiyacınız olmayan ağır kaynakları engelleyin; trafik ondalık GB başına faturalandırılır.
Playwright'te proxy nasıl ayarlanır?
proxy nesnesini server, username ve password ile geçirin. Her tarayıcı bağlamında ayarlayın, böylece her bağlam kendi ülkesine ve tek bir tarayıcı işleminde yapışkan oturuma sahip olur. Sayfanın tutarlı bir ziyaretçi görmesi için locale ve timezone_id çıkış ülkesiyle eşleştirin.
# pip install playwright && playwright install chromium
import uuid
from playwright.sync_api import sync_playwright
SERVER = "http://gw.namelessproxy.com:7777" # HTTP port: browsers
USERNAME, PASSWORD = "USERNAME", "PASSWORD"
def proxy_for(country, city, ttl=30):
"""One sticky session per browser context."""
session = uuid.uuid4().hex[:10]
return {
"server": SERVER,
"username": f"{USERNAME}-country-{country}-city-{city}-session-{session}-ttl-{ttl}",
"password": PASSWORD,
}
with sync_playwright() as p:
# Placeholder launch proxy: some Chromium builds need one before contexts
# can set their own. It is never used when every context sets a proxy.
browser = p.chromium.launch(proxy={"server": "http://per-context"})
for country, city, tz in [("ae", "dubai", "Asia/Dubai"), ("sa", "riyadh", "Asia/Riyadh")]:
context = browser.new_context(proxy=proxy_for(country, city), locale="ar", timezone_id=tz)
page = context.new_page()
page.goto("https://api.ipify.org")
print(country, page.inner_text("body"))
context.close()
browser.close()// npm i playwright && npx playwright install chromium
const { chromium } = require('playwright');
const crypto = require('crypto');
const server = 'http://gw.namelessproxy.com:7777';
const proxyFor = (country, city, ttl = 30) => ({
server,
username: `USERNAME-country-${country}-city-${city}-session-${crypto.randomBytes(5).toString('hex')}-ttl-${ttl}`,
password: 'PASSWORD',
});
(async () => {
const browser = await chromium.launch({ proxy: { server: 'http://per-context' } });
const context = await browser.newContext({ proxy: proxyFor('eg', 'cairo') });
const page = await context.newPage();
await page.goto('https://api.ipify.org');
console.log(await page.textContent('body'));
await browser.close();
})();Puppeteer'de proxy nasıl ayarlanır?
Chrome'u --proxy-server ile başlatın ve ilk gezinmeden önce page.authenticate() çağırın. Chrome, bayrakta yazılan kimlik bilgilerini yok sayar, bu yüzden sayfa proxy'nin 407 isteğine yanıt verir. Her sayfa farklı bir kullanıcı adıyla kimlik doğrulayabilir, böylece her sayfa kendi ülkesine ve oturumuna sahip olabilir. Son Puppeteer sürümleri ayrıca browser.createBrowserContext() içindeki proxyServer seçeneğini kabul eder.
// npm i puppeteer
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
args: ['--proxy-server=http://gw.namelessproxy.com:7777'],
});
const page = await browser.newPage();
// Chrome ignores credentials in --proxy-server, so answer the 407 challenge per page
await page.authenticate({
username: 'USERNAME-country-ng-city-lagos-session-x7k2p9-ttl-30',
password: 'PASSWORD',
});
await page.goto('https://api.ipify.org');
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();
})();Selenium ile kimlik doğrulamalı proxy nasıl kullanılır?
Kimlik bilgilerinizi ekleyen küçük bir yerel yönlendirici çalıştırın ve Chrome'u ona yönlendirin. Chrome'un --proxy-server bayrağı kullanıcı adı veya şifre kabul etmez ve Selenium proxy girişini doldurmak için bir seçenek sunmaz. Aşağıdaki yönlendirici pproxy kullanır: makinenizde şifresiz dinler ve kullanıcı adınızla hedeflenen ağ geçidine iletir. Her yapışkan oturum için kendi yerel portunda bir yönlendirici çalıştırın.
Makinenizin sabit bir genel IP'si varsa, istemci alanında beyaz listeye alabilir ve ağ geçidi adresini doğrudan --proxy-server'e geçirebilirsiniz. selenium-wire paketi de proxy girişini yönetiyordu ancak artık bakım yapılmamaktadır.
pip install pproxy selenium
# Local forwarder: no auth on 127.0.0.1:8899, adds your credentials upstream (#user:pass)
pproxy -l http://127.0.0.1:8899 \
-r "http://gw.namelessproxy.com:7777#USERNAME-country-ke-city-nairobi-session-k3m9q1-ttl-30:PASSWORD"# Selenium 4.6+ downloads the matching chromedriver itself (Selenium Manager)
from selenium import webdriver
from selenium.webdriver.common.by import By
options = webdriver.ChromeOptions()
options.add_argument("--proxy-server=http://127.0.0.1:8899") # the local forwarder
driver = webdriver.Chrome(options=options)
try:
driver.get("https://api.ipify.org")
print(driver.find_element(By.TAG_NAME, "body").text)
finally:
driver.quit()Her tarayıcı profili için bir IP nasıl korunur?
Her tarayıcı bağlamına kendi oturum kimliği ve TTL verin, bu kimliği profil ömrü boyunca saklayın. Bağlam, TTL süresince aynı konut proxy IP'sinden çıkar (60 dakikaya kadar). IP'nin arkasındaki cihaz çevrimdışıysa yeni bir oturum kimliği başlatın.
Bir profilin günlerce bir IP tutması gerekiyorsa, özel 4G/5G portu daha uygundur: IP, döndürülene kadar kalır. Reklam doğrulama, kalite kontrol ve müşterilerinizin hesaplarını yönetmek gibi meşru işler için proxy kullanın. Sahte hesaplar ve yasak atlatma Kabul Edilebilir Kullanım Politikası tarafından yasaktır.
Sıkça sorulan sorular
Chrome neden --proxy-server içindeki kullanıcı adı ve şifreyi yok sayıyor?
Chrome'un komut satırı bayrağı sadece şema, ana bilgisayar ve port alır; kimlik bilgilerini okumaz. Tarayıcı bunun yerine proxy'nin 407 isteğini bekler. Playwright bunu proxy seçeneğinden, Puppeteer ise page.authenticate()'den yanıtlar. Selenium'da proxy girişi için böyle bir bağlantı yoktur, bu yüzden yerel yönlendirici veya IP beyaz listesi gerekir.
Playwright veya Puppeteer ile SOCKS5 portunu kullanabilir miyim?
Kullanıcı adı ve şifre ile değil: Chromium SOCKS5 proxy kimlik doğrulamasını desteklemez. HTTPS'yi CONNECT tünelleriyle taşıyan ve giriş destekleyen HTTP portu, 7777 kullanın. SOCKS5 portu, 7778, curl veya Python'daki socks5h:// gibi SOCKS5 kimlik doğrulamasını kendisi yöneten araçlar içindir.
Her tarayıcı bağlamına farklı bir ülke nasıl verilir?
Proxy kullanıcı adını bağlam başına oluşturun: bir bağlam için USERNAME-country-ae-city-dubai-session-…, diğer için USERNAME-country-sa-city-riyadh-session-…. Playwright'te bunu new_context(proxy=…) içinde geçirin. Puppeteer'de her ülke için bir sayfa açın ve her kullanıcı adıyla page.authenticate() çağırın. Böylece bir tarayıcı işlemi birçok ülkeye hizmet verebilir.
Headless tarayıcının kullandığı trafiği nasıl azaltırım?
İhtiyacınız olmayanları engelleyin. Playwright'te page.route() resim, font ve medya isteklerini iptal edebilir; Puppeteer'de istek engelleme kullanın. Aynı site için birden fazla sayfa için tek bir bağlamı yeniden kullanın, böylece önbellek çalışır. Trafik ondalık GB başına faturalandırılır ve istemci alanı günlük kullanımı gösterir, bu yüzden öncesi ve sonrası ölçün.
Bir site neden hala yanlış ülkeyi gösteriyor?
IP sadece bir sinyaldir. Siteler ayrıca tarayıcı dilini, saat dilimini ve bazen Konum API'sini okur. Playwright bağlamında çıkış ülkesine uyması için locale ve timezone_id ayarlayın, örneğin BAE için Asia/Dubai. Ayrıca, başka bir ülkeden önceki ziyaret sırasında site tarafından ayarlanan çerezleri temizleyin.
selenium-wire hâlâ proxy girişi eklemek için iyi bir yol mu?
Çalışıyordu ama proje artık bakım görmüyor, bu yüzden yeni Chrome veya Selenium sürümleriyle bozulabilir. pproxy gibi yerel yönlendirici, üst proxyye kimlik bilgisi ekleyen tek işi yapar ve herhangi bir tarayıcıyla çalışır. İstemci alanında sunucunuzun IP'sini beyaz listeye almak, kimlik bilgisi ihtiyacını tamamen ortadan kaldırır.
Her tarayıcı profiline kendi IP'sini verin
$0,53/GB'dan konut proxyler, $2.63/gün'den özel 4G/5G portları. KYC olmadan — kimlik, selfie veya belge gerektirmez.