Recentemente tive a necessidade de introduzir algumas centenas de entradas numa aplicação via web. Os informáticos disseram que era difícil introduzir os dados directamente na base de dados da aplicação, a única solução seria a introdução manual, o que iria com certeza demorar alguns dias para um par de pessoas dedicadas.
É de certo modo estranho que nós desenvolvemos interfaces fáceis para as pessoas usarem e ao mesmo tempo dificultamos a automatização de algumas tarefas.
Felizmente lembrei-me que os “CAPTCHAS” existem e são cada vez mais difíceis de resolver por alguma razão, por isso deve existir um forma de usar a própria aplicação para introduzir os dados de forma automatizada. Depois de alguma pesquisa descobri o módulo mechanize para python. Aqui ficam alguns exemplos de utilização.
Para a aplicação em causa a maior dificuldade foi preparar os dados em Excel às respectivas chaves da base de dados da aplicação. Claro que também foi necessário um módulo para ler dados de um ficheiro de xlsx em python, nomeadamente a xlrd, mas isso fica para outro post.