@Asim_Arman hizo una verificación rápida de tus 3 fuentes antes de recomendar nada y hay buenas noticias para una de ellas — HouseCall Pro en realidad no está en Cloudflare y su /feed/ funciona bien si solo añades un User-Agent de navegador real al nodo HTTP Request. probado con Mozilla/5.0 UA contra Housecall Pro y obtuve XML RSS válido. tu 403 allí casi seguramente es porque el nodo HTTP Request de n8n usa por defecto un UA genérico (o ninguno) y el sitio tiene un filtro UA básico. cambia a RSS Feed Read apuntado a Housecall Pro con anulación de User-Agent y listo para ese, sin necesidad de scraping.
Jobber (getjobber.com) está genuinamente en Cloudflare — el header cf-ray está presente en las respuestas — y no hay RSS para la sección academy. HVAC Informed tampoco expone RSS. esos dos genuinamente necesitan un servicio de scraping.
sobre la pregunta de bypass-cloudflare-natively, no hay forma real de hacerlo en n8n. su desafío requiere ejecutar JS para resolver proof-of-work más fingerprinting de comportamiento, y el nodo HTTP Request es un cliente http plano sin motor de navegador. las librerías estilo cloudscraper de 2022-2023 están todas rotas contra Cloudflare actual también, así que los pocos nodos de comunidad que las envuelven no funcionan tampoco.
headers tipo navegador solucionan filtros UA básicos (que es lo que el 403 de HouseCall Pro era, irónicamente) pero no hacen nada contra el verdadero desafío de Cloudflare — hacen fingerprinting de TLS, JA3, timing de solicitudes y ejecución de JS más allá de solo headers.
para ScrapingBee vs Apify vs BrightData — para tu caso de uso (digest diario de bajo volumen, solo 2 sitios que necesitan scraping real) ScrapingBee o Firecrawl es lo más limpio. comparación aproximada:
{
"scrapingbee": {"per_request": "~$0.001-0.005", "fit": "bajo-medio volumen, simple, rápido"},
"scraperapi": {"per_request": "~$0.001-0.003", "fit": "comparable a scrapingbee"},
"firecrawl": {"per_request": "~$0.001", "fit": "scrape-to-markdown, salida lista para LLM"},
"brightdata": {"per_request": "~$0.005-0.02", "fit": "objetivos más difíciles, caro pero más confiable"},
"apify": {"per_request": "varía", "fit": "flujos multi-página complejos"}
}
ScrapingBee llamado vía HTTP Request se ve así:
{
"method": "GET",
"url": "https://app.scrapingbee.com/api/v1/",
"qs": {
"api_key": "<your_key>",
"url": "https://www.getjobber.com/academy/",
"render_js": "true",
"premium_proxy": "true"
}
}
el estado final es un RSS Feed Read para HouseCall Pro, dos llamadas HTTP ScrapingBee para Jobber e HVAC Informed, luego parse → digest. mucho más barato que tratar los 3 como protegidos por Cloudflare cuando solo uno lo está realmente.