Cómo configurar un proxy para Playwright
El artículo proporciona información útil para cualquiera que busque usar proxies con Playwright y ofrece buenos consejos para elegir el enfoque correcto.
Hay diferentes formas de configurar un proxy para Playwright.
Si está utilizando Playwright para web scraping, podría ser mejor utilizar el marco Crawlee, que simplifica el proceso de desarrollo de araña e incluye un conjunto de herramientas para trabajar con proxies.
Si necesita configurar un proxy directamente en Playwright, hay dos niveles en los que puede hacerlo: el nivel del navegador y el nivel de contexto. Consideremos todas las opciones en orden, según sus necesidades específicas y su caso de uso.
Nivel del 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();
})()
Nivel del 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();
})()