Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature - Novo spider para São Carlos, SP #1300

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

vinikuhlmann
Copy link

@vinikuhlmann vinikuhlmann commented Oct 9, 2024

Closes #405

Layout do site publicador de diários oficiais

Marque apenas um dos itens a seguir:

  • O layout não se parece com nenhum caso da lista de layouts padrão
  • É um layout padrão e esta PR adiciona a spider base do padrão ao projeto junto com alguns municípios que fazem parte do padrão.
  • É um layout padrão e todos os municípios adicionados usam a classe de spider base adequada para o padrão.

Código da(s) spider(s)

  • O(s) raspador(es) adicionado(s) tem os atributos de classe exigidos.
  • O(s) raspador(es) adicionado(s) cria(m) objetos do tipo Gazette coletando todos os metadados necessários.
  • O atributo de classe start_date foi preenchido com a data da edição de diário oficial mais antiga disponível no site.
  • Explicitar o atributo de classe end_date não se fez necessário.
  • Não utilizo custom_settings em meu raspador.

Testes

  • Uma coleta-teste da última edição foi feita. O arquivo de .log deste teste está anexado na PR.
  • Uma coleta-teste por intervalo arbitrário foi feita. Os arquivos de .loge .csv deste teste estão anexados na PR.
  • Uma coleta-teste completa foi feita. Os arquivos de .log e .csv deste teste estão anexados na PR.

completa.csv
completa.log
intervalo.csv
intervalo.log
ultima.log

Verificações

  • Eu experimentei abrir alguns arquivos de diários oficiais coletados pelo meu raspador e verifiquei eles conforme a documentação não encontrando problemas.
  • Eu verifiquei os arquivos .csv gerados pela minha coleta conforme a documentação não encontrando problemas.
  • Eu verifiquei os arquivos de .log gerados pela minha coleta conforme a documentação não encontrando problemas.

Descrição

O código extrai o diário oficial da cidade de São Carlos, SP. O layout é simples, sem usar ids ou classes, então atributos css e regex são usados para localizar os elementos e extrair o texto com facilidade. Não há muita consistência no layout ou na estrutura do texto com o passar do tempo, então o código realiza algumas tentativas com diferentes métodos.

Esse spider usa beautifulsoup4, por ser muito mais fácil e simples de usar do que somente o scrapy nesse caso.

@vinikuhlmann vinikuhlmann marked this pull request as ready for review October 9, 2024 01:29
@vinikuhlmann vinikuhlmann changed the title Adds spider for gazettes from São Carlos, SP Feature - Novo spider para São Carlos, SP [Fixes #405] Oct 9, 2024
@vinikuhlmann vinikuhlmann changed the title Feature - Novo spider para São Carlos, SP [Fixes #405] Feature - Novo spider para São Carlos, SP Oct 9, 2024
@trevineju trevineju added the hacktoberfest-accepted Pull Requests aprovados na Hacktoberfest label Oct 21, 2024
Copy link

@firefueled firefueled left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Boa @vinikuhlmann,

É preferível evitar adicionar novas bibliotecas num projeto a menos que sejam estritamente necessárias. Isto ajuda a manter o projeto simples, com baixo impacto, e evita a necessidade de aprender diversas sintaxes diferentes.

Eu dei uma olhada no site em questão e me parece que é possível fazer a raspagem usando as ferramentas que já temos no projeto.

Agradecemos pela contribuição, mas peço que tente usar as ferramentas existentes do Scrapy como busca por expressões css, expressões regulares, ou xpath.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hacktoberfest-accepted Pull Requests aprovados na Hacktoberfest
Projects
Development

Successfully merging this pull request may close these issues.

São Carlos - SP
3 participants