okfn-brasil / querido-diario

📰 Diários oficiais brasileiros acessíveis a todos | 📰 Brazilian government gazettes, accessible to everyone.
https://queridodiario.ok.org.br/
MIT License
1.11k stars 411 forks source link

Trocar uso de Smart Proxy Manager por Zyte API para reduzir custos #1293

Open ogecece opened 1 month ago

ogecece commented 1 month ago

Atualmente fazemos uso do serviço Smart Proxy Manager da Zyte para driblar bans (IP de fora do Brasil, IP de datacenter, etc.). O serviço custa 29 USD por mês e fazemos uma média de 1,8k requisições utilizando proxy (pico de 14k em um mês no último ano, ao integrar alguns municípios que usam proxy no mesmo mês).

O custo da Zyte API para o nosso uso ("unrendered HTTP requests" sem tanta computação e sem necessidade de IPs residenciais) ficaria menor e teríamos mais liberdade com os limites mensais que os limites atuais do plano fixo (50k requisições mensais).

A configuração atual do proxy é bem simples e segue esta documentação. Onde a biblioteca scrapy-zyte-smartproxy é instalada e as seguintes configurações são adicionadas:

DOWNLOADER_MIDDLEWARES = {'scrapy_zyte_smartproxy.ZyteSmartProxyMiddleware': 610}
ZYTE_SMARTPROXY_APIKEY = '<API key>'

E em cada raspador onde o proxy é necessário o atributo zyte_smartproxy_enabled é adicionado.

Para migrar para a Zyte API, esta documentação dá algumas possibilidades. Mas a primeira seção parece ser suficiente. Mas seria necessário fazer alguns testes e migrar alguns raspadores para validação.