CodeGym /Cursos /Python SELF PT /Coleta de Requisitos e Planejamento de Projeto para Autom...

Coleta de Requisitos e Planejamento de Projeto para Automação da Coleta de Dados

Python SELF PT
Nível 37 , Lição 1
Disponível

Bora começar entendendo por que isso é importante. Automação de tarefas repetitivas é tipo ter um robô em casa que faz todo o trabalho chato enquanto você aproveita a vida. O Selenium é como um desses "robôs", só que no mundo da programação. Ele pode interagir com páginas web como se fosse uma pessoa de verdade. Imagina seu bot coletando dados automaticamente, preenchendo formulários ou verificando preços dos seus produtos favoritos. Incrível, né?

Mas antes de começar o projeto, é importante definir o que exatamente e como vamos automatizar. Bora ver os passos que vão ajudar a planejar nosso projeto.

1. Análise dos Requisitos do Projeto

Entendendo as tarefas do projeto

No mundo da programação, como na cozinha, antes de começar a preparar algo, você precisa saber qual será o resultado final. A analogia com uma receita cai muito bem aqui: temos uma lista de "ingredientes" — os dados que precisam ser coletados. Então decidimos qual "método culinário" vamos usar pra extrair esses dados.

Imagina que você trabalha numa empresa de marketing e precisa coletar dados sobre concorrentes. As perguntas que você faria a si mesmo são:

  • Quais dados eu preciso? Por exemplo, preços, avaliações, classificação, etc.
  • Quanto tempo isso levaria se fosse feito manualmente?
  • Quais sites ou serviços eu vou usar?

Criando uma lista de dados necessários e métodos de extração

Fazer uma lista dos dados necessários é um passo importante. Isso garante que seu bot vai coletar tudo o que importa e não vai esquecer algo importante, tipo meias esquecidas na máquina de lavar.

Suponha que a gente planeja coletar dados de produtos na página de uma loja online. Precisamos de:

  • Nomes dos produtos.
  • Preços.
  • Informação sobre disponibilidade.

Agora que temos uma lista de dados, precisamos pensar em como extrair essas informações. Podemos usar métodos do Selenium, como find_element_by_id, find_elements_by_class_name e outros. Mas isso é assunto pra próxima aula. Por enquanto, só saiba que o bot será treinado pra achar as informações certas, tipo um detetive experiente!

Escolhendo as páginas web e serviços para coleta

Agora é hora de uma decisão importante: escolher as fontes dos dados. É como escolher a fonte certa de notícias numa investigação — buscamos páginas web confiáveis e bem estruturadas.

Suponha que estamos coletando dados de livros. Podemos optar por sites como Amazon ou Goodreads. Mas é importante garantir que os sites escolhidos não têm restrições para coleta de dados. Dica: dá uma olhada nos arquivos robots.txt — eles geralmente contêm informações sobre se o web scraping é permitido ou não no site.

2. Planejamento das Etapas de Desenvolvimento

Definindo a sequência de ações e tarefas

Agora que a gente já tem todos os ingredientes, é hora de planejar o processo "de cozinhar". No contexto do desenvolvimento, a ordem das ações é tudo. É tipo seguir uma receita de bolo: primeiro mistura a massa, depois põe no forno. No nosso caso, pode ficar assim:

  1. Autenticação no site (se necessário).
  2. Busca e extração de dados.
  3. Salvar os dados no formato desejado.

Quais tarefas vão entrar em cada etapa? Lembre-se, você tem total liberdade pra adicionar passos que otimizem o processo.

Planejamento de recursos e distribuição das tarefas

Se você trabalha em equipe, planejar recursos e dividir tarefas é a chave para o sucesso do projeto. Decida quem vai ser responsável por escrever o código, quem vai testar e quem vai cuidar da documentação.

Trabalhando sozinho? Tranquilo! Só divide as tarefas em partes menores e coloca prazos pra si mesmo. Não esquece de fazer auto-revisões — isso ajuda a evitar aquele "código mágico" que é difícil de depurar (a gente sabe que ele pode não ser tão amigável).

Avaliação dos riscos e como minimizá-los

Todo projeto é uma mini-aventura, e como qualquer bom filme de ação, pode ter seus desafios. Vamos considerar os possíveis riscos do seu projeto:

  • Mudanças na estrutura do site com o qual o bot trabalha.
  • Restrições na quantidade de requisições ao site.
  • Possíveis erros no código.

Como reduzir esses riscos? Sempre tenha um plano "B" e esteja preparado para se adaptar. Por exemplo, use uma estrutura de código flexível para mudar facilmente a forma de coletar os dados se o site mudar. Ou configure um limite de requisições por unidade de tempo pra evitar bloqueios.

Planejar e coletar requisitos é a base do seu projeto. No começo pode parecer trabalho de arquiteto projetando um prédio: você precisa pensar em cada detalhe. Mas uma vez que essa base estiver pronta, sua automação vai funcionar como um violino Stradivarius — suave e sem falhas.

E aí, pronto pra mergulhar no mundo dos bots automatizados? Na próxima aula, vamos começar a criar funções pra buscar e interagir com elementos nas páginas web. Vai ser divertido — tipo um filme do James Bond, só que nosso bot será o agente 404!

3. A História do Selenium

Em 2004, o desenvolvedor Jason Huggins, trabalhando na ThoughtWorks, enfrentou a necessidade de automatizar os testes de um aplicativo web interno de controle de tempo e despesas. Pra simplificar esse processo, ele criou uma ferramenta em JavaScript chamada JavaScriptTestRunner, que mais tarde ficou conhecida como Selenium Core. Curiosamente, o nome "Selenium" veio de uma piada: Huggins observou que o selênio é um antídoto contra o envenenamento por mercúrio, fazendo alusão ao produto concorrente "Mercury Interactive".

Essa ferramenta rapidamente chamou atenção dos colegas, e logo outros desenvolvedores, como Paul Hammant, se juntaram ao projeto. Ele sugeriu abrir o código-fonte e expandir as capacidades do Selenium para funcionar com várias linguagens de programação. Foi assim que começou a evolução do Selenium, tornando-o uma das ferramentas mais populares pra automação de testes em aplicativos web.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION