8e0dbbeca0
- bizin_scraper_final.py: scraper híbrido curl_cffi + undetected-chromedriver com suporte a distritos e categorias, escrita segura (fsync) e enriquecimento externo - monitor_scraper.sh: watchdog que reinicia o processo automaticamente em crash - IMPLEMENTADO.md + README.md: actualizados para reflectir estado Abril 2026 - GEMINI.md: instruções técnicas de automação - test_curl.py, test_curl_clean.py, test_playwright.py: scripts de teste/diagnóstico Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
834 B
Python
24 lines
834 B
Python
|
|
from curl_cffi import requests
|
|
|
|
def test_curl():
|
|
url = "https://pt.bizin.eu/por/Lisboa-1069"
|
|
print(f"Acedendo a {url} com curl_cffi...")
|
|
try:
|
|
# Tentar diferentes impersonations
|
|
for imp in ["chrome120", "chrome110", "safari15_5", "edge101"]:
|
|
print(f"Tentando com impersonate='{imp}'...")
|
|
resp = requests.get(url, impersonate=imp, timeout=20)
|
|
print(f"Status: {resp.status_code}")
|
|
if "Just a moment..." in resp.text or "Um momento…" in resp.text:
|
|
print(f"Bloqueado com {imp}")
|
|
else:
|
|
print(f"SUCESSO com {imp}!")
|
|
print(f"Título: {resp.text[:500]}") # Ver se pegamos o título
|
|
return
|
|
except Exception as e:
|
|
print(f"Erro: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
test_curl()
|