Como configurar um proxy para o Playwright
O artigo fornece informações úteis para quem deseja usar proxies com o Playwright e oferece alguns bons conselhos para escolher a abordagem certa.
Existem diferentes maneiras de definir um proxy para o Playwright.
Se você estiver usando o Playwright para web scraping, talvez seja melhor usar a estrutura Crawlee, que simplifica o processo de desenvolvimento do spider e inclui um conjunto de ferramentas para trabalhar com proxies.
Se você precisar definir um proxy diretamente no Playwright, há dois níveis nos quais você pode fazer isso: o nível do navegador e o nível do contexto. Vamos considerar todas as opções em ordem, dependendo de suas necessidades específicas e caso de uso.
Nível do navegador
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(
proxy={
"server": "http://127.0.0.1:8080"
}
)
response = browser.new_context().request.get(
"https://example.com",
timeout=5000
)
print(response.body())
import { chromium } from 'playwright';
(async () => {
const browser = await chromium.launch({
proxy: {server: 'http://127.0.0.1:8080'}
});
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('https://example.com/');
console.log(await page.content());
await context.close();
await browser.close();
})()
Nível de contexto
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
context = browser.new_context(proxy={
"server": "http://127.0.0.1:8080"
})
response = context.request.get(
"https://example.com",
timeout=5000
)
print(response.body())
import { chromium } from 'playwright';
(async () => {
const browser = await chromium.launch();
const context = await browser.newContext({
proxy: {server: 'http://127.0.0.1:8080'}
});
const page = await context.newPage();
await page.goto('https://example.com/');
console.log(await page.content());
await context.close();
await browser.close();
})()