Home
desenvolvimento de uma ferramenta automatizada para consolidar
Contents
1. Existe y Recolhe os Recone ines os dados de acordo dados da m gt com a tag lt tr gt Localidade Sa ee N o Existe ee ES Separa Separa os dados Localidade dos p de acordo coma i tag lt td gt table gent licos es Remove tags ar c digo e espa os lp S9 do H todo desnecess rios StripTags A Retorna Gent lico a Ps ey Retorna String vazia Figura 12 Fluxograma da recolha de gent licos Tal como na recolha de gent licos a recolha da morada contactos e p gina web realizada atrav s da Internet encontrando se na p gina da associa o nacional de freguesias ANAFRE Nesta recolha os dados foram separados em tr s m todos distintos pois para al m das Tags associadas a estes campos serem diferentes o tratamento dos dados tamb m o mais propriamente a sua exist ncia ou n o mais facilmente tratada desta forma Neste caso o princ pio o mesmo que nos gent licos existindo uma classe WebClient que no final retorna o ficheiro de texto do c digo fonte da p gina da freguesia Na recolha da morada como se observa na Figura 13 procura se pelo ndice da morada para verificar a sua exist ncia Ap s esse teste retira se toda a informa o da morada de acordo com as Tags que definem a lista lt dl gt e lt dl gt Logo de seguida todos os dados s o agrupados pois no c digo fonte estes est o s separados pelas Tags lt span gt e lt span gt
2. logo como a morada como um todo isto simplifica o processo De seguida s o eliminadas as Tags HTML c digo e espacos desnecess rios 26 Recebe String gt HTML Procura o primeiro ndice da Morada Y Existe lt Morada no gt texto Recolhe os dados de acordo com a tag lt dl gt definition list Recolhe todos os dados da Morada Agrega todos os campos da Morada Agrupa os dados de acordo com a tag lt span gt Remove tags c digo e espa os desnecess rios Retorna String vazia o Retorna N Morada y HET Figura 13 Fluxograma do m todo recolhe_morada No caso da p gina web da freguesia o processo exactamente o mesmo que na recolha da morada visto que essa recolha s possui uma informa o A nica diferen a de um m todo para o outro a primeira procura que neste m todo Endere o do S tio Quanto recolha de contactos como se pode ver na Figura 14 come a se por avaliar de existem ou n o contactos pela procura do ndice da ocorr ncia do mesmo Se n o existirem contactos retornado um texto vazio mas se existir continua a pesquisa Primeiro recolhem se somente os dados referentes aos contactos com recurso s Tags lt dl gt e lt dl gt que se referem a uma listagem de itens que neste caso s o os contactos Depois para se separarem os dados verifica se se existe ndice de morada contactos e E
3. a partir da que todos os dados s o retirados necess rio ter todos os cabe alhos de coluna bem colocados para n o existirem trocas de informa o Para isso os cabe alhos ficam com os nomes das colunas que o utilizador escreveu e seleccionou no segundo passo ponto 1 da Figura 29 Quanto aos dados associados a cada freguesia prov m da busca das bases de dados offline de acordo com o c digo de freguesia e online de acordo com o nome da freguesia e posicionamento do texto A sa da de texto escrita como o utilizador redigiu no quinto passo mas aparecem para todas as freguesias e com as vari veis j substitu das pelas das bases de dados Como o processo de recolha de dados pode ser demorado existe uma barra de progresso onde se pode ver o estado da aplica o Quando a aplica o passa para bases de dado online aparece tamb m o nome da freguesia que est a ser pesquisada para tornar mais apelativa a espera ponto 2 da Figura 29 43 AREA 20121 Ha a guas Santas Barca Folgosa Gemunde Gondim Gueifaes Maia Milheir s Moreira Nogueira Avioso Santa M Avioso S o Pedro S o Pedro Fins Silva Escura Figura 29 Visualiza o dos resultados em tabela Uma das maneiras poss veis de guardar os dados em ficheiros vis vel na Figura 30 em que se pode facilmente procurar os ficheiros pelo nome das freguesias e aceder ao conte do em te
4. UNIVERSIDADE LUS ADA DE VILA NOVA DE FAMALIC O DESENVOLVIMENTO DE UMA FERRAMENTA _ AUTOMATIZADA PARA CONSOLIDAR INFORMA O SOBRE FREGUESIAS PORTUGUESAS F bio Andr Lopes de Oliveira Disserta o para obten o do Grau de Mestre Vila Nova de Famalic o 2013 UNIVERSIDADE LUS ADA DE VILA NOVA DE FAMALIC O DESENVOLVIMENTO DE UMA FERRAMENTA AUTOMATIZADA PARA CONSOLIDAR INFORMA O SOBRE FREGUESIAS PORTUGUESAS F bio Andr Lopes de Oliveira Disserta o para obten o do Grau de Mestre Orientador Prof Dr V tor Pereira Vila Nova de Famalic o 2013 Agradecimentos Tenho primeiramente que agradecer Universidade Lus ada de Vila Nova de Famalic o pela oportunidade que me deu de realizar um projecto desta dimens o ao Orientador V tor Pereira pela paci ncia e pela sua grande ajuda na elabora o deste projecto aos meus familiares e amigos que s o uma grande fonte de apoio onde sou sempre recebido com carinho palavras de confian a e de alento e tamb m quero gratificar todos aqueles que de forma directa ou indirecta contribu ram para a execu o desta disserta o ndice o anais ga TE PS TS A QUA 1 Lil Estado da all cuina lili ld 2 12 Objectivos do estudi e Men adia fol ede oan Mode 2 1 37 Plano de trabalho ai lt ie a a 4 14 Estruturado relat rio secs dd 4 2 Estudo e An lise das Ferramentas isis 5 2al Web CANIS assis jato A DA a ace uated 6 Ded A O pasa Pg lag as f
5. txthtml client DownloadString http www anafre pt distritos distrito concelho freguesia catch Exception throw string morada int indice morada txthtml Indexof Morada Descobre o ndice da Morada if indice morada 1 int posdl txthtml Indexof lt dl gt indice morada morada txthtml Substring indice morada posdl indice morada int posspan morada Index0f lt span gt morada morada Substring posspan Regex r1 new Regex s Regex r2 new Regex amp nbsp morada StripTags morada Remove as Tags html morada r2 Replace morada Remove amp nbsp morada r1 Replace morada Remove espa os a mais return morada elsef return Figura 19 Fragmento de c digo de acesso recolha e an lise da informa o relativa morada de uma freguesia 33 3 4 Testes Na fase de testes dois tipos de testes foram aplicados testes unit rios e testes de sistema Os testes unit rios validam entidades simples como por exemplo fun es individuais enquanto os testes de sistema s o respons veis por testar se a aplica o se comporta como foi planeado e definido nos requisitos do sistema Huizinga amp Kolawa 2007 A fase de testes unit rios envolveu uma plataforma de testes automatizados e alguns testes manuais Para a fase automatizada de testes o ambiente automatizado usado foi o NUnit vers o 2 6 2 com o obj
6. var Freguesia freguesia do concelho da var Concelho e do distrito do var Distrito tem var Popula o Residente HM habitantes para var Edif cios edificios espalhados por uma rea de var AREA_20121 Ha hectares Contactos Para mais informa es pode dirigir se morada da junta de freguesia var Morada Ou ent o entrar em contacto pelo telefone var Telefones Fax var Fax ou E mail var E Mail Pode ainda visitar o s tio da internet da freguesia em var P gina Web Figura 4 Proposta de uma estrutura simples e uniforme com base na ferramenta Para um bom artigo completo sobre uma freguesia j seria necess rio criar grandes textos espec ficos para cada freguesia como por exemplo a hist ria caso que o programa incapaz de fazer Posto isto um editor deve apresentar os seguintes itens So AGO o ON O nie Do E Ra a an nn 2 a aa Ra pa O Ann un bb U NY KF O Breve introdug o Origem do Nome Hist ria Geografia Lista dos lugares Localizag o da freguesia no concelho Demografia Actividades Econ micas Religi o Feiras Mercados e outras Festividades Comunica es e transportes Personalidades Associa es recreativas culturais desportivas e assistenciais Educa o Equipamentos P blicos Galeria de fotos Refer ncias Bibliografia Liga es externas 19 Com esta listagem um utilizador pode expandir a informa o de uma freguesia com
7. 37 Configurar Bases de Dados a Utilizar Passo 2 5 1 Bases de Dados Censos 2011 v Nova BD Apagar Nova Base de Dados Nome da BD Censos 2011 Adicionar Ficheiro C Teste Censos_2011_Provis riosFreguesia ds Nome da Folha P1 2 1 N da Coluna C digos O Selecionar Colunas e A N A Populag o Residente HM Populag o Residente H Popula o Residente H Popula o Residente M Popula o Residente M Popula o Presente HM Popula o Presente HM Popula o Presente H Popula o Presente H Popula o PresenteM Popula o PresenteM Fam lias Cl ssicas Residentes Familias Cl ssicas Residentes Familias Institucionais Familias Institucionais Figura 23 Segundo passo da aplica o As especifica es que o utilizador insere nesta interface de gest o da base de dados s o guardadas de uma forma similar ao primeiro passo ou seja os dados s o separados por ponto e v rgula e guardados em formato texto o que faz com que este processo trabalhe numa forma mais eficaz para que quando os dados forem necess rios sejam chamados de forma mais simples A gest o das bases de dados tem por base o seu nome e quando estas t m o mesmo nome os novos dados s o sobrepostos aos antigos eliminando assim qualquer conflito e ambiguidade entre elas possivel inserir bases de dados com o mesmo ficheiro desde que os nomes sejam diferentes o que pode acontecer quando num ficheiro existam v rias folhas No terc
8. Figura 16 Fluxograma l gico da recolha e organiza o de dados 30 3 3 Implementa o Na fase de implementa o o desenho da aplica o transformado em interfaces e c digo fonte Visto que o ambiente onde o sistema vai trabalhar a plataforma Windows decidiu se que a melhor linguagem de programa o a usar neste caso a linguagem CF pois em conjunto com o ambiente de desenvolvimento integrado Visual Studio 2010 Express Edition torna as tarefas orientadas plataforma Windows mais f ceis A interface desenvolvida para desta aplica o similar a um instalador comum de um programa onde existem uma s rie de passos para chegar a uma sa da final Cada passo uma personaliza o para o funcionamento do sistema como por exemplo a introdu o de vari veis facilmente lidas de uma folha de c lculo como o nome da folha e o nome de uma coluna ou linha em especial Um aspecto importante que foi tido em conta na implementa o da interface foi a sua consist ncia Para conseguir esta consist ncia o utilizador sabe sempre em que est gio do sistema est com um indicador no topo direito da aplica o Os bot es do programa encontram se de acordo com os bot es do Windows isto os bot es Confirmar OK e Sim sempre do lado esquerdo dos bot es Cancelar e N o Ainda existem bot es que n o se movem de janela para janela Anterior e Seguinte que se situam relativamente um ao outro
9. xima linha da folha de N o c lculo Y Usa o nome da folha da base de dados principal e a conex o anterior A zona maior igual a zona clicada Nao sim y Guarda a respectiva zona menor Figura 9 Fluxograma l gico de selecg o de zonas Por raz es de efici ncia e de simplicidade a aplica o usa uma t cnica que envolve uma edi o nos endere os para evitar o uso de um web crawler Como mostra a Figura 10 a p gina na internet de uma freguesia pode ser acedida ao usar o respectivo distrito concelho e freguesia ou ent o o c digo de freguesia simplificando assim a pesquisa por dados Contudo devido ao facto da l ngua Portuguesa usar acentua o por exemplo para o website www anafre pt o nome de distrito concelho e freguesia t m de passar por um processo de an lise uma vez que os endere os n o cont m acentua o nem espa amentos Mais especificamente os espa os ser o convertidos em h fens e reposta a letra sem acentua o de modo a obter o endere o correcto 23 http www anafre pt distritos braga vila nova de famalicao vila nova de famalicao VOY y Distrito Concelho Freguesia http www freguesias pt freguesia php cod 031248 C digo de Freguesia Figura 10 T cnica de pesquisa de dados de freguesia a partir de endere os Para a recolha de morada contactos e endere o da p gina da freguesia s o utilizados tr s m todos para acede
10. 2013 Para isto como se pode visualizar na Figura 12 foi criado um m todo que acede p gina da internet por meio de uma classe WebClient tendo se assim acesso ao ficheiro HTML em forma de texto Assim poss vel procurar no texto os dados referentes a cada localidade e retirar o respectivo gent lico O primeiro passo ser a verifica o da exist ncia dessa localidade na base de dados pois nem todas as freguesias possuem gent lico Isto executado procurando se pelo primeiro ndice em que esta aparece para posteriormente poder se retirar toda a informa o da mesma Esta informa o retirada recorrendo ao pr prio c digo HTML isto ao analisar o texto verifica se que as Tags em HTML compreendem os dados sendo assim poss vel recolh los de acordo com a tabela onde se encontram os dados Estes primeiros elementos recolhidos t m o seu termino no final da linha da tabela logo as Tags que os circunscrevem s o lt tr gt e lt tr gt table row Para limitar ainda mais os dados separa se a localidade do gent lico desta vez pelo meio de outras Tags lt td gt e lt td gt table data De seguida remove se todas as Tags HTML c digo e espa os desnecess rios ficando apenas com o que se requeria inicialmente o gent lico 25 Recebe gt Localidade Inicia WebClient Procura o primeiro ndice da Localidade A Local idad existe 5 T A Retira o HTML para texto
11. AR 2012 ir existir uma reorganiza o do territ rio para um incremento da efici ncia e uma estimula o do desenvolvimento das administra es locais O governo portugu s prepara uma redu o do n mero das freguesias na ordem das mil Silva 2013 o que representa cerca de 25 das 4259 freguesias existentes IGP 2011 Uma freguesia uma administra o secund ria local logo abaixo do concelho que representa uma mais pr tica interac o acessibilidade a informa o da regi o ou informar qualquer tipo de irregularidade disponibilizando para os habitantes de uma determinada localidade uma administra o que ajuda a resolver estas quest es Com a agrega o das freguesias grandes quantidades de informa o v o ficar desactualizadas por vezes mesmo inconsistentes e obsoletas como por exemplo na situa o da combina o de v rias freguesias numa s e adoptando um dos nomes existentes Apesar de um censos ter sido realizado recentemente INE 2012 parte dos dados deixam de ser verdadeiramente precisos com o desaparecimento de v rias freguesias Portanto bastante trabalhoso o acto de fazer compara es entre freguesias visto que os dados se encontram dispersos por v rias plataformas tanto online como offline que por sua vez podem n o estar actualizadas A manuten o e actualiza o destes dados n o pode de modo algum ser realizada eficientemente por humanos e por isso existem ferramentas automatizadas que nos
12. a utilizar Deve definir se as bases de dados online e offline com informa o relevante sobre freguesias e disponibilizar ao utilizador a escolha das mesmas para que o processo de pesquisa e recolha corresponda quilo que o utilizador pretende Entretanto uma an lise comparativa da estrutura das p ginas sobre freguesias da Wikip dia realizada com este mesmo intuito perceber os dados que devem ser consolidados Como a Wikip dia tamb m ficar com freguesias desactualizadas existe uma proposta para uma estrutura uniforme das p ginas sobre freguesias da Wikip dia tendo em conta as capacidades desta ferramenta Existem tr s ferramentas que devem ser estudadas meticulosamente para que em sequ ncia se possa desenvolver o programa de recolha de dados Web crawlers internet bots e HTML parsing A primeira quest o a resolver a defini o de uma solu o de software que permita desenvolver um internet bot capaz de recolher os dados de um website espec fico e associar esses mesmos dados a dados de bases de dados offline Em segundo lugar necess rio desenvolver uma ferramenta de an lise das p ginas web com base em HTML Parsing para concretizar a recolha de informa o das bases de dados online permitindo a separa o dos dados importantes para o utilizador do c digo irrelevante na pesquisa A terceira quest o a resolver a acessibilidades s v rias plataformas e diversos websites para que o programa possua uma
13. ampla base de dados desenvolvendo um m todo com base em Web Crawling para aceder a v rias bases de dados online Depois de estudadas e antes de serem implementadas estas ferramentas estudado o processo de engenharia de software porque como se trata de um programa relativamente avan ado todas as etapas devem estar bem planeadas O desenvolvimento da ferramenta passar pelas etapas da engenharia de software especifica o de requisitos desenho implementa o e testes assegurando assim que se cumprem todos os objectivos 1 3 Plano de trabalho Este trabalho foi realizado por etapas mais propriamente por m todos que conduzem a realiza o de uma pesquisa at a um desenvolvimento A primeira etapa consistiu numa revis o bibliogr fica constitu da pelo que existe at data sobre internet bots web crawlers e html parsing O objectivo desta primeira etapa foi aprofundar os conhecimentos te ricos sobre estes temas de forma a poder aplica los posteriormente no trabalho Na segunda etapa procedeu se o desenvolvimento formal da ferramenta autom tica Nesse contexto foi estudado primeiramente o processo que uma aplica o sofre desde a sua cria o at esta estar completa nomeadamente a engenharia de software e todos os passos associados Estes processos contam numa primeira fase com a especifica o dos requisitos da aplica o de seguida o desenho do programa a implementa o e por fim os testes Por fim realizado
14. de comparar dados espec ficos entre freguesias Pode tamb m ser usada por editores da Wikip dia que pretendam actualizar os dados dos artigos sobre as freguesias portuguesas bem assim como por qualquer pessoa que precisem de aceder a dados estat sticos nacionais Como esta ferramenta possui uma componente online opcional outros pa ses com o mesmo modelo administrativo de territ rio podem us la mas este pormenor n o foi confirmado Como trabalho futuro o uso de um internet bot mais geral poderia ser desenvolvido de modo a que a aplica o n o seja t o espec fica e com vista a poder incluir uma maior variedade de bases de dados Pode tamb m ser implementada uma habilidade para copiar as bases de dados online para a m quina local e assim poder aced las futuramente no modo offline O desenvolvimento de um m todo para actualizar automaticamente a informa o das freguesias portuguesas na Wikip dia tamb m seria de considerar Por fim podia ser conduzido um estudo com empresas de modo a melhorar a aplicabilidade da ferramenta O resultado deste trabalho espec fico para um caso em particular demonstra a constru o de uma ferramenta que qualquer pessoa pode utilizar para recolher informa es sobre freguesias portuguesas 45 5 Refer ncias Ahn L v Blum M Hopper N J amp Langford J 2003 CAPTCHA Using Hard Al Problems for Security Obtido de http www captcha net captcha_crypt pdf AR 30 de Ma
15. e apagar p ginas 10 livremente fazendo tamb m com que a Wikip dia em geral seja menos espa osa e mais organizada Um desses bots chama se CydeBot e faz o processo de mover e apagar categorias da Wikip dia actualizando depois as p ginas de listas dessas categorias Presentemente este bot j realizou perto de tr s milh es de edi es na Wikip dia Weys 2011 Outro bot extremamente importante o ClueBot NG que tem a tarefa de detectar e reverter vandalismo automaticamente Este bot tem a capacidade de aprender e assim descobrir vandalismo mesmo que as frases em quest o sejam verdadeiras Carter 2010 Provavelmente o feito mais conhecido do ClueBot NG foi verificar que foi realizado vandalismo na p gina de supremos tribunais com uma frase que por si s verdadeira mas se encontra fora do contexto O p nis o rg o sexual masculino foi a frase descoberta e apagada numa quest o de segundos Nasaw 2012 2 3 HTML Parsing Todo o tipo de programas autom ticos que navegam na internet deparam se com a necessidade de manipular diversos tipos de dados Para al m de ter de assegurar a recolha destes dados os programas t m de os saber interpretar Os programas ou m todos que realizam este objectivo denominam se por parsers isto softwares capazes de analisar e distinguir dados importantes de dados irrelevantes Neste caso estes m todos distinguem os dados importantes do c digo HTML como por exemplo na n
16. quarto passo s o definidas as bases de dados a usar pois estas podem ter sido adicionadas mas o seu uso n o requerido e tamb m definido se vai ser necess rio guardar em texto o resultado final da aplica o Ao escolher guardar em texto disposta a escolha de ser tudo escrito num nico ficheiro por freguesia por concelho ou por distrito para facilitar a procura do texto ao utilizador ponto 2 da Figura 26 Quanto escolha das bases usados a usar fundamenta se nas bases de dados introduzidas e guardadas no segundo passo ponto 1 da Figura 26 Para complementar as bases de dados em ficheiros ou seja as bases de dados offline existe um conjunto de bases de dados online opcionais que podem ser seleccionadas Entre estas bases de dados encontram se tabelas de gent licos da Wikip dia contactos tais como telefone fax e e mail e ainda a morada e p gina da internet ponto 3 da Figura 26 Os contactos morada e p gina web prov m de uma base de dados da Associa o Nacional de Freguesias ANAFRE 40 Selecionar Dados de Sa da Passo 4 5 25 Selecionar Bases de Dados a Usar Guardar Dados em Texto C digos Freguesias 2012 8 Sim N o Fo rie gui Ficheiros Pasta de destino D Ficheiros Um Ficheiro por Distrito O Um Ficheiro por Concelho 8 Um Ficheiro por Freguesia O Um nico Ficheiro Selecionar Bases de Dados Opcionais L Gent licos Telefones C Fax C Email C M
17. terminou da ltima vez num acesso futuro 20 Definir o N mero da Linha de Come o dos C digos Definir Caminho do Ficheiro Definir N mero da Coluna dos Distritos Configurar Base de Dados Principal Definir Nome da Folha Excel Definir N mero da Coluna dos Definir o N mero Concelhos das Colunas Definir N mero da Coluna das Freguesias Definir N mero da Coluna dos C digos Figura 6 Diagrama de configura o da base de dados principal Cada freguesia portuguesa possui um c digo nico Este c digo composto por seis digitos e representam a chave prim ria que este sistema necessita para interligar as bases de dados O diagrama de intera o entre as bases de dados como mostra a Figura 7 representa um dos requisitos para a interliga o de todas as bases de dados offline BD Principal Censos Dados Demogr ficos C digos PK FK1 C digos Distritos Freguesias Concelhos Popula o Residente Freguesias Edif cios CAOP Dados Geogr ficos Freguesia rea Total Nova Base de Dados C digos Vari vel 1 Vari vel 2 Figura 7 Diagrama de interac es entre bases de dados 21 Um dos requisitos fundamentais desta aplica o ser poss vel actualizar as bases de dados offline Para que isto seja poss vel foi introduzido um sistema de gest o para estas bases de dados Este sistema de gest o foi implementado ao g
18. um sistema se baseia inteiramente neste modelo de desenvolvimento existem quatro processos diferentes dos outros modelos a an lise dos componentes a modifica o de requisitos desenho do sistema com o reutilizado e o 2 desenvolvimento e integra o Uma grande vantagem deste modelo a quantidade 12 reduzida de desenvolvimento de novo software embora frequentemente alguns requisitos tenham de ser inevitavelmente comprometidos Basili 1990 Por fim o modelo em cascata que como o pr prio nome indica segue de uma fase para a outra servindo de exemplo abstracto como um processo orientado a um plano isto deve ser previamente planeado todo o tipo de processos e actividades antes de se dar in cio a qualquer tarefa Os principais passos deste modelo s o a an lise e defini o de requisitos o desenho do sistema a implementa o e testes de unidade integra o e testes de sistema e por fim opera o e manuten o Como a documenta o produzida no fim de cada fase poss vel monitorizar o progresso do programa sobre o plano desenvolvido mas como cada fase realizada independentemente das outras leva a uma inflexibilidade e consequentemente dif cil mudar por exemplo algum requisito depois de essa fase j ter sido conclu da Dado tratar se de um projecto de reduzida dimens o o desenvolvimento da ferramenta de software associada a este trabalho segue este modelo em cascata Como referido este modelo dita que
19. 2 Documento de tex Figura 30 Ficheiros de sa da da aplica o 44 4 Conclus es Desenvolveu se um software autom tico de recolha de informa o de v rias fontes online e offline sobre freguesias portuguesas Este desenvolvimento passa pelas quatro actividades fundamentais de engenharia de software especifica o de requisitos desenho implementa o e testes Dada a natureza do trabalho foi poss vel submeter e apresentar um artigo sobre o mesmo numa confer ncia internacional Oliveira amp Pereira 2013 O programa usa uma base de dados principal com uma lista de todos os distritos concelhos e freguesias de modo a estabelecer uma rela o com todas as outras bases de dados permitindo a extrac o de informa o O utilizador pode selecionar uma combina o de um distrito um ou mais concelhos de um distrito ou uma ou mais freguesias de um concelho Para al m do utilizador poder selecionar as reas geogr ficas para pesquisa tamb m pode controlar as caracter sticas da informa o a reunir incluindo assim os dados relativos popula o tais como faixas et rias estado civil edif cios ou composi o do agregado familiar Duas das principais bases de dados usadas cont m estat sticas do Censos 2011 elaborada pelo Instituto Nacional de Estat stica e dados geogr ficos do Instituto Geogr fico Portugu s Esta aplica o pode ser usada por exemplo por empresas de marketing que necessitem
20. Bots amp Botnet An Overview Obtido de http www sans org reading room whitepapers malicious bots botnet overview 1299 Ramsey D 2010 User rambot Obtido de http en wikipedia org wiki User Rambot Silva A C 16 de Janeiro de 2013 Mensagem do Presidente da Rep blica Assembleia da Rep blica sobre a Reorganiza o Administrativa do Territ rio das Freguesias Obtido de P gina Oficial da Presid ncia da Rep blica Portuguesa http www presidencia pt idc 1 O0 amp idi 71113 Smith P R amp Sarfaty R 1993 Creating a strategic plan for configuration management using computer aided software engineering case tools DOE Facilities 2000 Planing for Change Sommerville I 2010 Software Engineering Ninth Edition ISBN 13 978 0137035151 Addison Wesley Weys C 2011 User Cydebot Obtido de http en wikipedia org wiki User Cydebot Wikipedia bots 2012 Obtido de http en wikipedia org wiki Category Wikipedia bots 47 Wikipedia bots by status 2012 Obtido de http en wikipedia org wiki Category Wikipedia bots by status Wikipedia Bots 18 de April de 2013 Obtido de Wikipedia http en wikipedia org wiki Wikipedia Bots Wikipedia Bot policy 2012 Obtido de http en wikipedia org wiki Wikipedia Bot policy 48 6 Anexo 1 M todo de preencher as listas de escolha das zonas a pesquisar public static void preenche listas string caminho string folha int coluna local maior int coluna loc
21. Figura 2 Arquitectura de alto n vel de um Web Crawler Provavelmente o primeiro web robot foi o World Wide Web Wanderer que tinha como fun o medir o tamanho da World Wide Web tendo tamb m a capacidade de se tornar num motor de busca Gray 1996 O web crawling a base de qualquer motor de busca e por causa dos bots serem importantes nessa pesquisa foram desenvolvidos para serem mais eficientes com a informa o Brin amp Page 1997 Assim recolhiam a informa o e indexavam na para posteriormente poder fornecer a um utilizador uma pesquisa por compara o desses ndices Olston amp Najork 2010 p 176 Este tipo de programas resolvem um dos objectivos no trabalho a desenvolver mais propriamente o acesso a diversos websites para assim conseguir se alcan ar um programa capaz de recolher informa es de v rias plataformas online Estas plataformas online com a ajuda dos web crawlers passam a ser consideradas pelo programa como bases de dados online permitindo assim um acesso a todos os dados p blicos desses sites 2 2 Internet bots Um internet bot uma ferramenta autom tica ou semiautom tica que realiza tarefas simples e repetitivas na internet de uma forma muito mais r pida e eficaz do que seria humanamente imposs vel Esta ferramenta normalmente usada de uma forma muito restrita no conceito de n mero de sites a que pode aceder e recolher dados isto s o programados para um site em espec fico e s func
22. ados CAOP2011 pdf IGP 2012 rea das Freguesias Munic pios e Distritos da CAOP2012 Obtido de Instituto Geogr fico Portugu s http www igeo pt produtos cadastro caop download Areas Freg Mun Dist CAO P20121 zip INE 2012 Censos 2011 Obtido de Instituto Nacional de Estat stica http censos ine pt 46 Knight W 2005 Software bots could menace Google ads Obtido de NewScientist http www newscientist com article dn6972 software bots could menace google ads html UdbgOKxnCgE Ledford J 2008 Google Adsense for Dummies ISBN 13 978 0470292891 Wiley Publishing Inc Lista de Freguesias de Portugal 2013 Obtido de http pt wikipedia org wiki Anexo Lista_de_freguesias_de_Portugal Lista de Gentilicos de Portugal 2013 Obtido de http pt wikipedia org wiki Anexo Lista_de_gent C3 ADlicos_de_Portugal Nasaw D 2012 Meet the bots that edit Wikipedia Obtido de BBC News Magazine http www bbc co uk news magazine 18892510 Oliveira F amp Pereira V 2013 Development of an automated tool to consolidate information about Portuguese administrative parishes 3 International Conference on Managing Services in the Knowledge Economy 2013 Olston C amp Najork M 2010 Web Crawling Foundations and Trends in Information Retrieval Now Publishers Inc Pressman R S 2010 Software Engineering A Practitioner s Approach Seventh Edition ISBN 13 978 0073375977 McGraw Hill Puri R 2003
23. ajudam a alcan ar esse objectivo Este estudo prop e uma ferramenta automatizada de modo a resolver o problema com a dispers o de informa o Desenvolvendo assim uma aplica o baseada nestas ferramentas capazes de aceder internet recolher e organizar grandes quantidades de dados sobre as freguesias portuguesas 1 1 Estado da arte Procurar actualmente por informa o na internet considerado um acto trivial e relativamente f cil com a ajuda de motores de busca mas para que isto seja poss vel existe uma complexa multitude de ferramentas de procura autom tica Para analisar o problema em detalhe v rias ferramentas t m de ser compreendidas e estudadas como o web crawler uma das primeiras ferramentas a surgir que serve basicamente para realizar uma colec o de endere os e em ferramentas mais avan adas uma colec o de p ginas de modo a criar um ndice de toda a informa o que a base de como os motores de pesquisa funcionam Olston amp Najork 2010 Outra importante classe de ferramentas em estudo s o os internet bots que nos ajudam a gerir grandes quantidades de dados Por exemplo estes rob s computacionais est o largamente aplicados na Wikip dia desde que esta enciclop dia online se tornou um sistema de dados centralizado e por isso com a sua constante edi o adv m uma constante supervis o Wikipedia Bots 2013 A ltima ferramenta a estudar ser o os HTML parsers um processo de a
24. al menor ListBox list item procurar ListBox list preencher local maior por exemplo um distrito e a zona menor a zona imediatamente inferior neste caso um concelho funciona tamb m para freguesias seguindo a mesma regra o local maior passa a concelho e o menor a freguesia a coluna local maior o n mero da coluna da folha de c lculo onde se encontra a coluna do local maior String connection String Format Provider Microsoft Jet OLEDB 4 0 Data Source 0 Extended Properties Excel 8 0 HDR YES IMEX 1 Importmixedtypes text typeguessrows 0 1 caminho OleDbConnection con new OleDbConnection connection DataTable dt new DataTable OleDbDataAdapter command new OleDbDataAdapter select from folha Al con command Fill dt zona_procura o que o utilizador selecionou na lista string zona procura list item procurar SelectedItem ToString for int i i lt dt Rows Count 1 i if dt Rows i coluna_local_maior ToString zona_procura if list_preencher Items Contains dt Rows i coluna_local_menor list_preencher Items Add dt Rows i coluna_local_menor 49
25. ara a maioria das empresas com rcio online e sistemas pessoais visto reflectir de forma mais natural a resolu o de problemas Cada novo incremento ou nova vers o do sistema integra novas funcionalidades proporcionando assim uma vis o r pida e precoce daquilo que o sistema pode fazer de acordo com o estipulado Por outro lado o progresso do desenvolvimento nesta metodologia n o facilmente mensur vel visto que como s o criadas novas vers es do sistema rapidamente tamb m t m de ser concebidos documentos para cada vers o o que frequentemente n o acontece pois contribui de forma significativa para tornar o procedimento dispendioso Para al m desta desvantagem o sistema tende a degradar se medida que novos incrementos s o efectuados tornando se num grave problema quando os sistemas s o maiores e mais complexos Pressman 2010 Um outro modelo gen rico existente para o desenvolvimento de software o modelo orientado ao reuso de software Basicamente o que acontece neste modelo uma abordagem ao desenvolvimento do sistema com base em componentes j criados ou existentes Este processo de desenvolvimento foca a incorpora o destes componentes no novo sistema sem ter de come ar esse novo sistema de raiz Este modelo acontece frequentemente mas de maneira informal pois na maior parte dos projectos existe sempre algum tipo de reuso de componentes nem que por vezes tenha que se fazer pequenas modifica es ao mesmo Quando
26. de dados online o sistema deve aceder a sites oficiais e com conte dos fidedignos Os dados adquiridos online podem possuir contactos das freguesias tais como n meros de telefone morada e e mails quando existirem Pode ser inclu do um modo de escolher as bases de dados folhas de c lculo de sa da de entre as diversas bases de dados de entrada Deve existir um simples editor de texto onde seja poss vel incluir vari veis relacionadas com as bases de dados A maioria das personaliza es podem ser automaticamente gravadas para aumentar a efici ncia e manter a integridade do sistema permitindo ao utilizador voltar a usar a aplica o no estado onde a deixou Os dados de sa da devem aparecer para o utilizador numa tabela Os dados de sa da devem ser exportados para ficheiros de texto ou ficheiros de folhas de c lculo O texto de sa da deve incluir vari veis que s o posteriormente substitu das pelos respectivos dados de cada freguesia Os dados de sa da devem ser gravados de v rias maneiras como por exemplo toda a informa o num nico ficheiro ou um por cada freguesia um por cada concelho ou um por cada distrito Quando o sistema est a recolher e a organizar os dados um indicador visual do progresso pode ser usado para representar quanto progresso j foi feito e quanto falta fazer Mesmo possuindo uma boa lista de requisitos n o significa que estes n o sejam afectados at ao final do projecto pois normal e
27. de programas Posto isto foram criados cinco passos para chegar a um resultado completo No primeiro passo a aplica o necessita que lhe seja introduzido um caminho de um ficheiro xls para que todo o programa funcione ponto 1 da Figura 22 Isto acontece deste modo pois a chave prim ria que interliga todas as tabelas tem por base um nico ficheiro Assim poss vel que no passo para selecionar a localidade se possa ter um ficheiro sempre actualizado pois o mesmo deste passo Para aceder ao ficheiro especifica se o nome da folha qual se quer aceder pois um ficheiro pode ter v rias folhas ponto 2 da Figura 22 A tabela em si deve conter no m nimo uma coluna com os distritos uma com os concelhos uma com as freguesias e uma outra com a coluna chave que por sua vez a coluna com os c digos das freguesias ponto 3 da Figura 22 Com a especifica o destas vari veis de entrada tendo em conta que a coluna n mero zero corresponde primeira coluna coluna A pode se atribuir qualquer ficheiro desde que cumpra estes requisitos m nimos ponto 3 da Figura 22 Por outro lado o n mero da linha de come o dos c digos o n mero correspondente na folha de c lculo ponto 4 da Figura 22 Para complementar este passo ap s o utilizador avan ar para o pr ximo passo estes dados s o guardados automaticamente num ficheiro de texto e com as vari veis separadas por ponto e v rgula para que da pr xima vez que o programa
28. e 7 Dae gt EIS ma CIO SOS nieo a T E I 8 2 2 2 T cnicas ANDO a 9 2 2 3 An lise de bots da NUI grs AGR 10 25 HIME PA a ad 11 3 Metodologia e Desenvolvimento da Aplica o rear 12 Sd An lise de requisitos eae AA be 14 Sd Dados e bases de dado casseta ill e oca 16 3 1 2 An lise da estrutura de p ginas sobre freguesias na Wikip dia 17 3 1 3 Proposta de p gina modelo erre 18 Did DOSING secrsssaningossi is sieniin dass paia lec Saga aaah aside eas 20 3 3 Implementa o ass canta nea eaaa ia 31 DA MESS yest Me Fuca Paasche distaste adele death e A aa dd god dat epa 34 do Autonabda AWN CACAO nes 36 A Conclus es risio erroan SEa ieee Ota alae ieee CU ge 45 Sia Referencias jeans dt cues te sorta termine dd O 46 6 ADORO L usina dt ie 49 11 Resumo A colossal expans o da internet respons vel por uma cria o substancial de conhecimento que deve ser guardado e mantido em bases de dados centralizadas que por sua vez tamb m aumentam em tamanho e complexidade Manter e actualizar as informa es armazenadas nas bases de dados n o pode ser feito de forma eficiente pelos seres humanos por si s ferramentas automatizadas t m sido usadas h algum tempo com v rios graus de sucesso Uma das primeiras ferramentas de software a surgir foi o web crawler que a base de como os motores de busca trabalham Outra classe importante de ferramentas chamada inter
29. e muito outros Embora esta organiza o possua uma grande quantidade de dados estes s s o espec ficos at ao n vel dos concelhos Para a recolha de gent licos relativos a freguesias pode ser consultada uma p gina da Wikip dia que cont m uma lista com mais de 1200 nomes Lista de Gent licos de Portugal 2013 Um site semelhante ao da ANAFRE o Portal das Freguesias www freguesias pt onde para al m de se encontrar praticamente todos os dados que existem na ANAFRE tamb m possui a imagem da ins gnia da freguesia e os nomes da classe administrativa e executiva da freguesia tais como presidente secret rio tesoureiro etc Por vezes tamb m se pode encontrar uma breve descri o da freguesia e tamb m um mapa que destaca a freguesia dentro do concelho Na p gina web do Instituto de Gest o do Patrim nio Arquitect nico e Arqueol gico www igespar pt pode se pesquisar todo o tipo de patrim nio cultural embora este seja espec fico s at aos concelhos n o contendo dados nicos e referentes a freguesias 16 Quanto s bases de dados offline que se encontram em ficheiros do tipo folhas de c lculo com tabelas de dados foram encontrados tr s ficheiros determinantes e Uma folha de c lculo com todos os distritos concelhos freguesias e c digos de freguesia de Portugal realizada pela Autoridade Tribut ria e Aduaneira ATA que pode ser usada como tabela relacional e Outra tabela importante relativa a dados g
30. ecessidade de construir um programa capaz de recolher todas as imagens de um website essencial possuir um analisador de HTML apto a examinar todos os endere os do site contidos no c digo Heaton 2002 No caso deste estudo o HTML parsing adiciona uma outra componente vital no processo de selec o de dados Como um processo autom tico s necessita de saber o que que o utilizador considera importante isto todas os dados relacionados com freguesias Assim poss vel pesquisar e recolher apenas os dados que s o importantes ao utilizador 11 3 Metodologia e Desenvolvimento da Aplica o Uma lista de tarefas necess rias para recolher e aplicar informa o sobre os processos constitui uma metodologia Uma metodologia consiste num conjunto de passos que s o seguidos e completos A metodologia associada engenharia de software demonstra v rios processos de software modelos abstractos que por vezes podem ser modificados de forma a adaptarem se a um desenvolvimento espec fico Smith amp Sarfaty 1993 Os tr s modelos gen ricos apresentados s o o modelo incremental o modelo orientado ao reuso de software e o modelo em cascata No modelo incremental de desenvolvimento de software s o intercalados tr s processos especifica o de requisitos desenvolvimento e valida o Dito por outras palavras o sistema desenvolvido como uma s rie sucessiva de novas vers es Esta metodologia possui diversas vantagens p
31. ectivo de validar que as fun es individuais produzem os resultados esperados e n o apresentam defeitos ou problemas Estes testes come aram por analisar as fun es e m todos que acediam as bases de dados Ap s ter estes dados poss vel organizar um simples teste manual para examinar uma sa da como por exemplo escolha de uma freguesia conferir se o resultado de determinado m todo apresenta o mesmo valor daquele guardado na base de dados Depois disto os dados gerados numa folha de c lculo s o preparados para receber estas sa das sendo feitos testes similares aos anteriores para assegurar um cont nuo bom funcionamento Um bom exemplo de um destes testes o teste do m todo de converter o nome das freguesias de modo a funcionar num endere o isto sem acentua o espa amentos ou caracteres especiais Como se pode ver no c digo da Figura 20 usada uma sintaxe espec fica dos testes e para o teste em si usada a acentua o mais comum da l ngua portuguesa sendo assim codificados de forma a provar o correcto funcionamento e posteriormente s o testados na ferramenta NUnit TestFixture public class TestClass Test public void teste completo string texto nao tratado ada i 006 string texto tratado aaaa ee i 000 u c Assert AreEqual texto tratado convertelocal texto nao tratado Figura 20 Exemplo de c digo de testes 34 Como a ferramenta NUnit automatizada pode
32. eiro passo e de acordo com o ficheiro introduzido no passo um val surgir uma rea para seleccionar os distritos concelhos e freguesias tendo em conta o previamente seleccionado ou seja ao escolher um distrito surgem na lista ao lado os concelhos associados a esse distrito e o mesmo acontece entre os concelhos e freguesias Com este m todo muito r pida a selec o da localidade porque vai se cada vez mais especificando o que se ambiciona como se pode ver na Figura 24 sendo a sua selec o visualmente intuitiva Mais concretamente ao selecionar um distrito v o surgir todos os concelhos desse distrito na coluna dos concelhos ponto 2 da Figura 24 mas ao ser 38 escolhido mais que um distrito impossibilita a escolha de concelhos dos mesmos No caso de escolher apenas um distrito e nenhum concelho a procura resume se a esse mesmo distrito fazendo uma pesquisas de todas as freguesias do distrito ponto 1 da Figura 24 Seleccionar Distritos Concelhos Freguesias a Pesquisar FELGUEIRAS GONDOMAR LOUSADA MAIA MARCO DE CANAVESES MATOSINHOS PA OS DE FERREIRA PAREDES PENAFIEL PORTALEGRE PORTO POVOA DE VARZIM SANTAREM SANTO TIRSO SETUBAL VALONGO VIANA DO CASTELO VILA DO CONDE VILA REAL VILA NOVA DE GAIA VISEU TROFA ANGRA DO HEROISMO HORTA PONTA DELGADA FUNCHAL Figura 24 Terceiro passo da aplicag o Distritos Concelhos O mesmo aplica se de forma similar na fase seguinte selec
33. eogr ficos a Carta Administrativa Oficial de Portugal CAOP produzida pelo Instituto Geogr fico Portugu s e A maior fonte offline vem do Instituto Nacional de Estat stica mais precisamente a vers o offline dos Censos 2011 que uma enorme compila o de dados demogr ficos Apesar de existirem bastantes bases de dados apenas algumas podem ser escolhidas visto que podem n o ser relacionadas com freguesias terem de ser exclu das devido a redund ncia de dados entre elas ou ent o n o serem oficiais e por isso n o fidedignas Posto isto as bases de dados escolhidas s o o site da ANAFRE a lista de gent licos da Wikip dia a tabela relacional da Autoridade Tribut ria e Aduaneira a Carta Administrativa Oficial de Portugal e os Censos 2011 Como foi estipulado nos requisitos as tabelas offline escolhidas podem ser actualizadas e modificadas conforme o uso do sistema 3 1 2 An lise da estrutura de p ginas sobre freguesias na Wikip dia A Wikip dia tamb m ajuda na decis o de quais dados e bases de dados que se podem utilizar pois todas as freguesias portuguesas t m p gina criada umas com mais informa es e outras com menos Isto verifica se pela cor dos endere os para essas p ginas na lista das freguesias pois quando est escrito a azul existe p gina e quando est a vermelho n o existe Lista de Freguesias de Portugal 2013 As que cont m menos informa o normalmente t m s o essencial como por exem
34. esquerda e direita respectivamente Um exemplo desta consist ncia foi tamb m aplicado a reas de selec o mais propriamente na escolha das freguesias a pesquisar Obt m se consist ncia ao convergir a escolha do utilizador sua selec o ou seja come a se por escolher o distrito depois o concelho e por fim as freguesias Para demonstrar a capacidade de automa o do sistema foi adicionada uma funcionalidade para abrir uma p gina de testes da Wikip dia com o texto que o utilizador inseriu Esta funcionalidade serve para pr visualizar o texto com o c digo respectivo Wikip dia antes de executar e organizar os dados do sistema O programa introduz o texto com c digos da Wikip dia para negrito ou t tulos e ainda com as vari veis de dados var nome da variavel antes de substituir os seus valores Assim o utilizador pode examinar previamente o texto a ser gerado na procura por erros Como mostrado na Figura 17 depois de ter carregado a p gina web requisitada no WebBrowser dispon vel no Visual CH neste caso uma p gina de testes da Wikip dia o texto do utilizador vai ser enviado para a p gina pelo internet bot que ir carregar automaticamente tanto o texto como todas as ac es posteriores que um humano tinha de executar como por exemplo o clique de um bot o 31 string texto introduzir texto HtmlDocument doc this webBrowser1 Document HtmlElement textArea webBrowser1 Document A11 wpTextbox1 s
35. este relat rio de forma a verificar a viabilidade do modelo proposto 1 4 Estrutura do relat rio Este trabalho est organizado em seis cap tulos No Cap tulo 1 Introdu o desenvolvido e apresentado o problema em quest o e poss veis formas de solucionar este problema apresentando o estado da arte De seguida o Cap tulo 2 Estudo e An lise das Ferramentas aprofunda o estado da arte inicial providenciando uma maior organiza o do tema que se subdivide em tr s subcap tulos web crawlers internet bots e html parsing No Cap tulo 3 Metodologia e Desenvolvimento da Aplica o apresentada a metodologia usada no desenvolvimento da ferramenta onde est o definidos os caminhos que se podiam seguir neste desenvolvimento e o que foi de facto seguido Pode se ainda encontrar a an lise dos requisitos o desenho implementa o testes e um tutorial da aplica o No Cap tulo 4 Conclus es s o apresentadas todas as considera es finais No Cap tulo 5 Refer ncias como o pr prio nome indica onde se encontram todas as refer ncias bibliogr ficas e por fim o Cap tulo 6 encontra se um anexo onde se pode encontrar mais material relevante sobre o trabalho 2 Estudo e An lise das Ferramentas Na internet a quantidade de informa o existente praticamente inimagin vel Essa informa o vulgarmente acedida por utilizadores humanos mas n o somos s n s que acedemos a esses dado
36. ha realizada a partir de uma rea com tr s listas provenientes da base de dados principal uma lista com os distritos outra com os concelhos e por fim uma lista com as freguesias A primeira lista de distritos corresponde maior divis o administrativa Ao seleccionar um distrito o utilizador pode escolher de seguida um ou mais concelhos relativos a esse distrito sendo o mesmo verdade para as freguesias para um determinado concelho Para efectuar este processo a base de dados principal acedida usando uma t cnica conhecida por OLEDB a rea geogr fica seleccionada pelo utilizador distrito ou concelho pesquisada com o objectivo de filtrar todos os concelhos ou freguesias respectivamente O fluxograma apresentado na Figura 9 mostra os passos dados quando o utilizador selecciona um distrito zona maior e o sistema procura todos os concelhos zona menor pertencentes a esse distrito sendo o mesmo 22 conceito aplicado entre concelhos zona maior e freguesias zona menor Para mais detalhe sobre esta implementa o o c digo deste m todo encontra se no Anexo 1 A lista clicada e a zona associada guardada A conex o com a O caminho usado o folha de c lculo lt mesmo da base de efectuada dados principal y Uma tabela preenchida com dados da folha de c lculo x gt Retorna todas as zonas A tabela est preenchida Sim gt menores para a pr xima ee PA lista Pr
37. har lt lt gt da tag dentro da tag 4 q Y PO TA Adiciona ao Est fora is el Retorna texto texto final da tag E ABE Figura 15 Fluxograma da remog o de c digo HTML O passo onde se seleccionam as sa das permite ao utilizador escolher quais os dados que ser o processados mostrados e guardados por exemplo quais os dados online s o recolhidos ou como s o gerados os ficheiros de texto finais onde ser o guardados os dados Isto implementado atrav s da jung o de pequenos trechos de texto de cada freguesia de acordo com a introdu o feita por parte do utilizador O utilizador pode criar um texto modelo ao clicar em vari veis escolhidas previamente no gestor de bases de dados Ao executar esta ac o um campo ou etiqueta com o nome da vari vel aparece no texto A aplica o pode posteriormente alterar estas vari veis para os seus respectivos valores das freguesias e assim um texto baseado num modelo criado para cada freguesia Por fim uma folha de c lculo mostrada ao utilizador contendo todos os dados gerados Esta folha de c lculo controlada como uma tabela de dados onde as linhas correspondem a freguesias e as colunas s o atributos seleccionados pelo utilizado Como mostra a Figura 16 a constru o da folha de c lculo final come a por recolher todos os c digos de freguesia que foram seleccionadas no terceiro passo ao receber a informa o das bases de dados guardadas relativa
38. io de 2012 Lei n 22 2012 de 30 de Maio Aprova o regime jur dico da reorganiza o administrativa In Di rio da Rep blica pp 2826 2836 Arian A s d Internet Communication Protocols and related subjects Obtido de http books google pt books id J 1 gb2eb NuEC ATA 2010 Obtido de Portal das Finangas http info portaldasfinancas gov pt NR rdonlyres B365CA49 D07B 4FCD B9BF 8FADCAOEF528 0 coddistconcfreg x1s Basili V R 1990 Viewing maintenance as reuse oriented software development IEEE Computer Society Press 19 25 Brin S amp Page L 1997 The Anatomy of a Large Scale Hypertextual Web Search Engine Obtido de http infolab stanford edu backrub google html Carter C 2010 User ClueBot NG Obtido de http en wikipedia org wiki User ClueBot NG Castillo C 2004 Effective Web Crawling Google Inc 2013 What is reCAPTCHA Obtido de http www google com recaptcha learnmore Gray M 1996 Credits and Background Obtido de Internet growth and statistics http www mit edu people mkgray net background html Heaton J 2002 Programming Spiders Bots and Agregators in Java ISBN 13 978 0782140408 Sybex Huizinga D amp Kolawa A 2007 Automated Defect Prevention Best Practices in Software Management Wiley IEEE Computer Society Pr IGP 2011 Carta Administrativa Oficial de Portugal Obtido de Instituto Geogr fico Portugu s http www igeo pt produtos cadastro caop download D
39. ionam nesse site em particular Heaton 2002 p 317 Al m dos bots serem implementados neste tipo de aplica es de uso geral tamb m podem ser aplicados para situa es semelhantes em que necess rio um tempo de resposta extremamente r pido um tempo de trabalho longo ou uma disponibilidade tal que n o seria poss vel a um humano como por exemplo bots de videojogos online em sites de leil es ou em salas de chat Arian pp 171 173 No caso de alguns videojogos existem personagens que n o s o jog veis vulgarmente conhecidas por NPC s Non player Character que se encontra no mundo virtual e actuam como se fossem controlados por um jogador Este controlo realizado por um bot que por vezes tem algum modelo de intelig ncia artificial reagindo a ac es e di logos proporcionando assim ao jogador uma atmosfera mais envolvente Os sites de leil es assim como as salas de chat precisam de modera o da linguagem colocada pelos utilizadores Esta modera o realizada atrav s do uso de bots capazes de tomar decis es sobre daquilo que est escrito filtrando assim conte do inapropriado e banindo os causadores se continuarem com o mesmo comportamento Como os rob s em f bricas aumentam a produtividade de uma empresa os bots foram vistos como uma ajuda relativamente parte comercial de empresas ligadas inform tica Por exemplo o Google Inc est na vanguarda da publicidade na internet com o seu bot Google AdSense que te
40. lmente apenas informa o demogr fica 3 1 3 Proposta de p gina modelo Grande parte das p ginas sobre freguesias portuguesas na Wikip dia n o est o em conformidade com a pol tica de edi o que embora diga que vers es iniciais e ou incompletas de artigos s o aceites mesmo contendo pouca informa o estes s o marcados como esbo os devido a esta mesma falta de informa o Por isso para complementar esta falha vai ser poss vel com a ajuda deste programa refor ar o modelo de dados existente Nos par grafos anteriores foram apresentadas quais as bases de dados que se podem usar e quais as que j existem na Wikip dia para que agora seja poss vel fazer a consolida o entre elas Com base nisto e nos requisitos do programa pode se propor uma estrutura uniforme para as p ginas das freguesias com base no programa A Figura 4 ilustra como necess rio ter especial aten o forma como a gram tica escrita para que as preposi es e outros ligadores se adeq em ao g nero da freguesia concelho e distrito Uma dica ser fazer todas as freguesias concelho a concelho para que a gram tica entre o concelho e o distrito n o mude Com isto o utilizador pode ainda acrescentar mais informa es de outras bases de dados de forma a completar esta proposta pela substitui o de vari veis no texto assim como a adi o de c digo espec fico da Wikip dia como hiperliga es tabelas ou cap tulos 18 var Freguesia
41. m por base o hist rico de navega o do utilizador para que em p ginas onde exista publicidade seja poss vel apresentar a mais relevante para cada indiv duo sendo o lucro deste sistema sustentado pela quantidade de cliques ou visualiza es de cada an ncio Ledford 2008 p 8 Os bots podem tamb m ser utilizados para fins de caridade como no projecto FreeRice que com a ajuda de publicidade na p gina e respostas correctas por parte dos utilizadores capaz de doar uma certa quantidade de arroz para o World Food Programme ajudando a alimentar os mais necessitados Com isto foram criados bots capazes de responder s perguntas de resposta m ltipla e assim fazer com que o n mero de doa es fosse largamente maior do que seria de esperar Arian pp 171 173 Como o grande objectivo a cria o de um programa automatizado que acede internet n o podiam deixar de ser estudadas as aplica es dos internet bots Para o trabalho em estudo isto acrescenta a capacidade de recolher dados de um website atrav s da selec o de onde os vais pesquisar e descarregar Logo partida ent o pratic vel a pesquisa especifica de dados de uma nica freguesia na imensid o de um website 2 2 1 Fins maliciosos Como existem bons usos para os bots tamb m existem maus usos ou seja estes s o usados com fins destrutivos ou maliciosos Um dos casos que tem vindo a tornar se comum o ataque DOS denial of service que tem como base uma p
42. m se executar v rios testes seguidos sem interrup es Na Figura 21 s o vis veis os testes feitos ao m todo referido anteriormente File View Project Tests Tools Help CNUsersNF bio Documents Visual Studio 2 Y NunitTests Run C Users Fabio Documents Visual Studio 201MProjectsiConsoleApplicati MW TestClass go e TU M teste_cedilha MW teste completo Passed 4 Failed 0 Errors 0 Inconclusive 0 Invalid O Ignored O Skipped O Time 0 082 MW teste espacos 2 8 E E 3 E gt Clear All Check Failed Errors and Failures Test Cases 4 Tests Run 4 Erors 0 Failures 0 Time 0 082002 Figura 21 V rios testes a um m todo com o NUnit Para testar a escolha de freguesias o primeiro teste foi executado para uma s freguesia passando depois a duas e mais freguesias Esta mesma t cnica acompanhou a escolha de concelhos e distritos Como um concelho composto por uma ou mais freguesias parte do c digo j estava testado levando assim a um r pido progresso Uma aten o redobrada foi empregada nas fun es que acedem a dados online como as an lises HTML de p ginas da internet Esta especial aten o tem a ver com uma vasta gama de problemas relacionados com a liga o aos sites o que pode levar a um mau funcionamento do sistema se n o for estudado correctamente Os testes de sistema como o pr prio nome indica envolveram a cria o de uma vers o do programa de forma a poder realizar es
43. mails individualmente com recurso s tags lt span gt lt span gt e lt dd gt lt dd gt Ao existirem os dados j separados s o tratados removendo todas as Tags HTML c digo e espa os desnecess rios 27 Recebe String HTML N Procura o primeiro Indice dos Contactos Y de JZ Existem r contactos no gt NM Recolhe todos os dados dos contactos Recolhe os dados de acordo com a tag lt dl gt definition list Procura os N o Separa os ndices do dados por Telefone Fax e categoria Email Remove tags c digo e espa os desnecess rios STE va A Retorna String Retorna Vazia Contactos Figura 14 Fluxograma do m todo recolhe_contactos O m todo que remove o c digo HTML StripTags cujo fluxograma l gico apresentado na Figura 15 usado por todos os m todos deste sistema quando necess ria uma an lise das p ginas web Este m todo processa o texto tendo em conta os caracteres que delimitam as Tags lt e gt Depois do m todo receber o texto este entra num ciclo at que o texto seja todo revisto Nesta revis o vai ser verificado se se est dentro de uma Tag e se isto for verdadeiro passa ao pr ximo caracter sen o adiciona ao texto final que vai ser retornado antes de passar ao pr ximo 28 Recebe texto HTML Acabou o N texto Y N o Sim Est dentro AEA Nerificar se est Se c
44. mente s colunas seleccionadas e s o adicionados nomes s colunas da folha de c lculo o que necess rio para a edi o de texto Os nomes de cabe alho opcionais s o os nomes das bases de dados online que por serem opcionais sofrem um tratamento especial Depois disto as bases de dados offline s o pesquisadas por dados referentes aos c digos de freguesias previamente recolhidos e consequentemente 29 adicionados tabela final O processo seguinte envolve a pesquisa online e consiste nos dados previamente mencionados sobre as freguesias onde s o acedidos pela altera o de alguns par metros nos endere os Antes da informa o ser apresentada ao utilizador esta organizada numa folha de c lculo de acordo com a ordem das bases de dado escolhidas Recolher os c digos das freguesias escolhidas A Obter configurac o das BD Adicionar Adicionar cabegalhosa gt cabe alhos folha de c lculo opcionais ESA Existe lt seleccionadas smp pesquisa terminaram lt aia S 4 b TY Si N o U y E Obter dados da Existem mais freguesia l freguesias para i pesquisar lt Adiciona dados i matriz final Analisar e converter nomes para altera o dos endere os gt N o EE AS Obter dados dos sites y Adicionar dados matriz final Retorna a folha de c lculo final Converter nomes de Distritos Concelhos e freguesias
45. n lise de textos contendo c digo e informa o com o objectivo de extrair apenas os dados desejados No Cap tulo 2 todas estas ferramentas ser o revistas em mais pormenor 1 2 Objectivos do estudo O objectivo principal deste estudo como o nome do relat rio indica o desenvolvimento de uma ferramenta automatizada para consolidar a informa o sobre freguesias portuguesas Quando se diz consolidar no sentido de refor ar a informa o existente sobre freguesias portuguesas para um utilizador que necessite deste tipo de dados Este refor o passa por uma actualiza o e introdu o de novos dados espec ficos de cada freguesia que n o se encontrem directamente dispon veis ou ent o que a sua pesquisa e recolha seja bastante trabalhosa Por isso o que se deve realmente real ar neste objectivo principal a sua automatiza o que permite retirar uma grande carga de trabalho tedioso ao utilizador Por exemplo sem a automatiza o para um utilizador pesquisar e recolher dados demogr ficos geogr ficos e contactos devia aceder a pelo menos tr s bases de dados diferentes para depois procurar em cada uma os dados da freguesia Mas e se forem todas as freguesias de um concelho O trabalho para um utilizador cresce exponencialmente tornando a automatiza o deste processo numa salva o Para criar esta ferramenta automatizada essencial compreender as ferramentas j existentes dentro deste campo assim como quais bases de dados
46. navegador browser que introduz e mostra na Wikip dia o texto depois de compilado Figura 28 Esta funcionalidade mostra a facilidade de aceder a conte dos online de maneira a editar automaticamente uma p gina da Wikip dia 42 var Freguesia var Freguesia freguesia do concelho da var Concelho e do distrito do var Distrito tem var Populac o Residente HM habitantes para var Edificios edificios espalhados por uma rea de var AREA 20121 Ha hectares Contactos A morada da junta de freguesia Morada var Morada Telefone var Telefones Fax var Fax Email var E Mail P gina Web var P gina Web NI ww es EB LA gt Edi o avan ada b Caracteres especiais Ajuda lt n o apague esta linha gt pagina de testes lt n amp o apague esta linha gt lt Escreva abaixo da linha var Freguesia var Freguesia freguesia do concelho da var Concelho e do distrito do var Distrito tem var Popula o Residente HM habitantes para var Edif cios edificios espalhados por uma rea de var AREA 20121 Ha hectares Figura 28 Pr visualiza o do texto na Wikip dia No sexto e ltimo passo faz se a apresenta o de resultados numa tabela e caso a op o Guardar Dados em texto seja Sim encontra se um bot o de atalho para a pasta de destino dos mesmos como se pode ver o resultado na Figura 29 Como a tabela a sa da mais importante do programa pois
47. ndica procuram endere os electr nicos em v rias p ginas da Internet e de seguida enviam grandes quantidades de informa o ou esquemas maliciosos como o phishing Podem tamb m ser encontrados bots que fazem downloads de web sites completos o que afecta negativamente a largura de banda do servidor ou ent o com esses dados criar um web site semelhante sem a autoriza o do autor Arian pp 171 173 2 2 2 T cnicas anti bot Por vezes estes recursos computacionais s o explorados e usados de forma impr pria como por exemplo na cria o de spam ou ataques disponibilidade a sites Para combater estes casos novas ferramentas automatizadas tiveram de ser criadas para controlar este uso indevido Um exemplo de um caso de uso incorrecto de internet bots era a cria o de contas de correio electr nico em massa contas Youtube para efectuar spam de esquemas fraudulentos para assim enganar os utilizadores e ganharem dinheiro ilegalmente ou ataques disponibilidade atrav s do uso dos campos de pesquisa de um website Ahn Blum Hopper amp Langford 2003 No combate a estes esquemas a ferramenta mais utilizada o CAPTCHA Completely Automated Public Turing test to tell Computers and Humans Apart Esta ferramenta baseia se numa imagem que s pode ser compreendida por humanos isto aparece uma imagem de tal maneira alterada que nenhum programa consegue ler o que l est escrito e assim o utilizador tem de escrever a pala
48. net bots ou simplesmente bots da palavra robot usado para ajudar os humanos a gerir grandes quantidades de dados Apesar da Wikip dia usar bots h mais de 10 anos as p ginas web de freguesias portuguesas est o frequentemente desactualizadas ou t m informa es insuficientes Al m disso os dados que podem ser utilizados para actualizar estas p ginas web est o espalhados por v rias fontes e t m um formato que n o permite uma f cil compara o entre duas ou mais freguesias Este trabalho descreve o desenvolvimento de uma ferramenta automatizada para reunir informa es de v rias fontes online e offline sobre freguesias portuguesas seguindo os passos principais da Engenharia de Software isto especifica o de requisitos desenho implementa o e testes O resultado deste trabalho espec fico para um caso em particular demonstra a constru o de uma ferramenta simples e acess vel tanto a utilizadores b sicos como a avan ados de maneira a us la para extrair informa es sobre freguesias portuguesas 111 Abstract The remarkable growth of the Internet accounts for a substantial creation of knowledge This knowledge is stored in centralized databases which have increased in size and complexity Maintaining and updating the information stored in databases cannot be done efficiently by humans alone automated tools have been used for quite some time with various degrees of success One of the first software
49. new DataTable OleDbDataAdapter command new OleDbDataAdapter select from folha con command Fill dt string colunas procuracolunas Split List lt string gt resultado new List lt string gt for int i 0 i lt dt Rows Count 1 i if dt Rows i colunacodigo ToString codigo 4f for int j 0 j lt colunas Length 1 j resultado Add dt Rows i Convert ToInt32 colunas j ToString return resultado Figura 18 C digo de recolha de bases de dados offline 32 Quanto ao acesso s bases de dados online executado praticamente todo da mesma forma porque se trata de um acesso a um website espec fico Por isso o acesso primeiramente composto pelo acesso e recolha da p gina HTML onde se encontra a informa o para posteriormente poder ser tratada com uma simples t cnica de HTML Parsing como mostra a Figura 19 Esta t cnica consiste em estudar onde se encontram os dados e ap s essa posi o ser certificada como verdadeira para todas as outras freguesias naquela p gina web retira se toda a informa o que n o interessa atrav s da procura por elementos chave no c digo HTML ou seja parte se de um grande texto e vai se estreitando cada vez o texto mais at se ficar s com a informa o desejada System Net WebClient client new System Net WebClient client Encoding Encoding UTF8 Codifica o dos caracteres do texto html string txthtml try
50. o Com este problema criaram se categorias e regras de utilizadores independentes para este caso particular Para controlar eficazmente o trabalho dos bots na Wikip dia foi necess rio criar pol ticas espec ficas para verificar o seu funcionamento prevenindo assim poss veis erros e problemas Os novos bots passam por uma fase de aprova o onde o operador deste tem de demonstrar que ele inofensivo e til para a comunidade Al m disso o operador tem de garantir que o bot n o consome recursos desnecessariamente por isso este tem de ser eficiente realizando apenas tarefas que s o previamente aceites pela comunidade Para complementar este sistema o utilizador deve explicar na p gina inicial do bot todas as suas especifica es isto todos os detalhes acerca das tarefas que executa se este processo assistido ou se completamente autom tico e qual o ritmo a que opera Depois da aprova o o bot vai ser testado na realidade sendo constantemente monitorizado para assegurar que trabalha conforme o estipulado Passando este ltimo teste deixado a cargo do operador que criou o bot Wikipedia Bot policy 2012 Actualmente na Wikip dia existem quase 1500 bots Wikipedia bots 2012 mas apenas cerca de 240 est o sempre activos Wikipedia bots by status 2012 Os bots mais importantes do ponto de vista da organiza o s o os adminbots que como o pr prio nome indica t m privil gios de administra o e por isso podem editar
51. o Os requisitos est o divididos em requisitos funcionais e requisitos n o funcionais Enquanto os requisitos funcionais definem o que que o sistema pode ou deve fazer os requisitos n o funcionais apresentam restri es ao funcionamento do sistema sendo frequentemente aplicados a todo o software Pressman 2010 Tendo em conta esta informa o o requisito n o funcional mais importante desta ferramenta que este sistema deve ser f cil e pr tico de usar tanto para utilizadores b sicos como para utilizadores avan ados Por outro lado os requisitos funcionais deste programa incluem e O sistema deve compilar dados tanto de plataformas online como de plataformas offline de acordo com cada freguesia e Os dados de uso offline devem ser aceites como folha de c lculo mais especificamente ficheiros xls e O programa deve conter algum tipo de personaliza o da entrada dos ficheiros para que mesmo quando a folha de c lculo possua uma tabela com uma diferente ordem de colunas seja poss vel funcionar e Deve existir uma sec o de gest o destas folhas de c lculo para adiciona las ou elimina las e para definir quais as colunas de sa da e A selec o dos distritos concelhos e freguesias portuguesas deve existir numa forma que permita a um utilizador selecionar v rias freguesias do 14 mesmo concelho ou selecionar um concelho e automaticamente todas as freguesias desse concelho s o seleccionadas Para aquisi o
52. o do distrito ao selecionar um concelho v o aparecer todas as freguesias desse concelho na coluna das freguesias ponto 2 da Figura 25 mas se a selecg o incluir mais que um concelho deixa de ser poss vel como no caso dos distritos de escolher as freguesias associadas aos v rios concelhos Como no caso da coluna dos distritos para a coluna dos concelhos acontece o processo semelhante de selec o isto quando se selecciona apenas um concelho s o pesquisadas todas as freguesias desse concelho ponto 1 da Figura 25 Para o caso da coluna das freguesias diferente pois como s o as ltimas escolhas podem ser seleccionadas v rias porque n o t m uma cadeia subsequente que possam afectar 39 Seleccionar Distritos Concelhos Frequesias a Pesquisar E Concelhos Freguesias PORTALEGRE PORTO SANTAREM SETUBAL VIANA DO CASTELO VILA REAL VISEU ANGRA DO HEROISMO HORTA PONTA DELGADA FUNCHAL AMARANTE BAI O FELGUEIRAS GONDOMAR LOUSADA MAIA MARCO DE CANAVESES MATOSINHOS PA OS DE FERREIRA PAREDES PENAFIEL PORTO POVOA DE VARZIM SANTO TIRSO VALONGO VILA DO CONDE VILA NOVA DE GAIA TROFA AGUAS SANTAS BARCA FOLGOSA GEMUNDE GONDIM GUEIF ES MAIA MILHEIROS MOREIRA NOGUEIRA AVIOSO SANTA MARIA AVIOSO S PEDRO S PEDRO FINS SILVA ESCURA VERMOIM VILA NOVA DA TELHA PEDROU OS Figura 25 Terceiro passo da aplica o Concelhos Freguesias No
53. o objectivo de completar o artigo com tudo o que existe na freguesia pass vel de ser importante 3 2 Desenho No desenho do sistema os requisitos s o organizados de forma a assegurar o alcance de uma etapa em que o software propriamente desenvolvido e por isso crucial saber como resolver estes problemas Sommerville 2010 A interface do programa como mostra a Figura 5 composta por seis passos cada um contribuindo para produzir uma sa da final Configurar Base de Dados Principal Y A Configurar Bases de dados a Utilizar Selecionar Distrito A Concelho Freguesia a Pesquisar E y A Selecionar Dados de Sa da y A Editar Texto de Sa da Poy A Visualizar Resultados Figura 5 Diagrama de seis passos da interface A personaliza o da base de dados principal realizada usando vari veis da folha de c lculo Essa folha de c lculo pode ser encontrada na p gina web da Autoridade Tribut ria e Aduaneira ATA 2010 Como se pode examinar na Figura 6 para o sistema funcionar correctamente uma base de dados principal com extens o xls carregada As colunas definidas para ser poss vel aceder a esta base de dados s o a coluna dos distritos a coluna dos concelhos a coluna das freguesias e por fim a coluna do c digo das freguesias Antes de passar ao passo seguinte estas vari veis s o gravadas num ficheiro de texto para que seja poss vel um acesso mais r pido ou continuar onde
54. orada C P gina Web Figura 26 Quarto passo da aplica o No quinto passo se for escolhido guardar em texto editado o texto de sa da para todas as freguesias usadas ponto 3 da Figura 27 Nesta edi o est inclu do um sistema que permite introduzir vari veis no texto que posteriormente s o substitu das com os valores para cada freguesia ponto 2 da Figura 27 Neste passo tamb m usado um sistema de gest o semelhante ao usado no segundo passo para gerir os diferentes textos que o utilizador possa ter 41 Selecionar Texto a Usar Editar Textos das Vari veis Selecionar BD Freguesias Popula o ias Ed ficios Teste1 Completo Car igos ea 2012 as das Freguesias Manipula o de Texto Nome do Texto Completo Novo Texto Apagar Texto Pr Visualizar Guardar Texto var Frequesia var Frequesia freguesia do concelho da var Concelho e do distrito do var Distrito tem var Popula o Residente HM habitantes para var Edif cios edificios espalhados por uma rea de var AREA_20121 Ha hectares hectares Contactos A morada da junta de freguesia Morada var Morada Telefone var Telefones Fax var Fax Email var E Mail Figura 27 Quinto passo da aplica o Ao editar o texto poss vel fazer uma pr visualiza o numa p gina de testes da Wikip dia O que acontece a abertura de um
55. plo o n mero de habitantes a rea da freguesia e as que t m mais informa o incluem patrim nio cultural como a sua hist ria e fotografias Como bvio quanta mais popula o e mais rea uma determinada freguesia possua maior a probabilidade de esta ter algum tipo de patrim nio cultural ou natural 17 2 gt importante Tamb m importante estabelecer a rela o dessa freguesia com a sua localiza o pois existem grandes diferen as entre o interior do pa s e o litoral Um exemplo de uma localiza o dependente do turismo s o as regi es aut nomas da Madeira e dos A ores Em compara o com zonas n o dependentes praticamente em todas as freguesias das regi es aut nomas da Madeira e dos A ores verifica se um aumento da quantidade da informa o indo desde patrim nio a descri es dos mesmos incluindo fotografias Este aumento observa se porque um dos meios de obten o de riqueza das ilhas baseado no turismo e o pr prio governo das ilhas principalmente no Arquip lago da Madeira cria projectos para aperfei oar estes canais de informa o Quanto informa o disponibilizada as p ginas de localidades em que existe bastante informa o seguem um modelo base que inclui muitas das vezes t picos sobre a hist ria geografia economia transportes cultura e toda a parte demogr fica Quanto s localidades de menor dimens o onde existe substancialmente menos informa o disponibilizada norma
56. r a uma base de dados online mais exactamente no s tio da Associa o Nacional de Freguesias ANAFRE Na recolha de gent licos a base de dados uma tabela na Wikip dia s de gent licos de Portugal Uma outra base de dados a utilizar um ficheiro com a informa o dos Censos 2011 Na recolha da rea das freguesias utilizada uma base de dados offline do instituto geogr fico portugu s mais precisamente a carta administrativa oficial de Portugal CAOP Na Figura 11 podem se ver as v rias interac es entre os m todos e as bases de dados online e offline Utilizador Programa Bases de Dados l Personaliza o E R i gt ecolhe_gentilico PER Gent lico ______ H I Recolhe morada gt ke Morada Recolhe contactos 1 ______ Contactos AN Recolhe pagina ii __ Endere o da pagina Recolha_offline i Dados Offline i NN Apresentac o Visual Figura 11 Diagrama sequencial da aplicag o 24 Para complementar a informa o de uma freguesia seleccionaram se os gent licos pois estes traduzem se numa defini o dos habitantes da mesma Gent licos ou etn nimos s o palavras que definem uma pessoa conforme o local onde nasceu ou onde reside Com o intuito de incluir estas informa es a base de dados usada da pr pria Wikip dia e cont m cerca de 1200 gent licos Lista de Gent licos de Portugal
57. ravar todos os par metros necess rios para aceder a esses novos ficheiros num ficheiro de texto onde os dados s o separados por ponto e virgula similar aos ficheiros csv Estes par metros incluem o nome da base de dados o caminho do ficheiro o nome da folha de c lculo e o n mero da coluna do c digo das freguesias Para adicionar um novo ficheiro necess rio tamb m introduzir as vari veis presentes nas colunas desse ficheiro Como o exemplo da Figura 8 isto realizado a partir da escrita ordenada do nome de cada coluna e de seguida a selec o das vari veis que v o fazer parte da sa da do programa Os ficheiros essenciais para realizar este procedimento podem encontrar se no Instituto Nacional de Estat stica INE 2012 ou no Instituto Geogr fico Portugu s IGP 2012 Nome das Colunas Selecionar Colunas C digo C digo A Freguesia Frequesia N A N A Popula o Residente HM Popula o Residente HM Popula o Residente H gt Popula o Residente H Popula o Residente M Popula o Residente M Popula o Presente HM Popula o Presente H Popula o Presente H Popula o PresenteM Popula o PresenteM Fam lias Cl ssicas Residentes Fam lias Institucionais Fam lias Institucionais x Figura 8 Inserir e selecionar vari veis ao dar nomes s colunas Para obter algum tipo de resultados necess rio o utilizador escolher antecipadamente a freguesia a pesquisar Esta escol
58. rimeira fase em que o objectivo infectar um grande n mero de computadores com o bot Numa segunda fase os computadores infectados enviam um grande n mero de pacotes ao mesmo tempo a um servidor alvo O resultado a falta de resposta do servidor para tantos pedidos afectando assim a sua disponibilidade Puri 2003 Um outro caso que n o foi pelos melhores caminhos foi a fraude em massa que existiu no eBay devido a bots que faziam licita es de produtos automaticamente ao pre o m nimo n o dando assim nenhuma hip tese s pessoas de comprar o produto Quando isto veio a p blico o site come ou a ter uma maior actividade de bots o que levou a empresa a criar o seu pr prio bot para combater estes esquemas Arian pp 171 173 Outro problema surgiu assim que apareceram as primeiras publicidades na internet que geravam lucro a partir do n mero de cliques Um bot pode fazer uma fraude por cliques o que criava grande transtorno entre as empresas de publicidade e os donos das p ginas web Por vezes era necess rio retirar essas publicidades porque estes ataques tinham grande impacto monet rio Knight 2005 Existem tamb m alguns usos menos pol micos mas que tamb m afectam o sistema atacado como os bots para videojogos online do tipo Massive Multiplayer Online Role Playing Game MMORPG que retiram o esfor o do utilizador de procurar por recursos estragando completamente uma economia virtual Os Spambots que como o pr prio nome i
59. s A Internet como sistema descentralizado cont m um imenso n mero de conte dos independentes espalhados por v rios servidores Assim mesmo que aconteca alguma cat strofe o sistema pode continuar a funcionar sem se perder toda a informa o armazenada Embora esta descentraliza o seja favor vel no aspecto da seguran a e do poder que a informa o oferece esta provoca problemas quando se pretende pesquisar qualquer tipo de dados que n o se encontrem localmente A solu o encontrada passa por varrer toda a rede e dar a conhecer ao programa onde se encontram os dados Este sistema que trabalha por tr s da internet denomina se de web crawler Um Web Crawler tamb m conhecido por web robot ou spider um sistema autom tico de recolha de p ginas de websites em massa Este sistema come a com uma lista de endere os designados de sementes medida que o sistema examina as p ginas tamb m recolhe e classifica todos os endere os encontrados ao longo da an lise de acordo com a rela o entre o novo endere o e o endere o semente Esta rela o distingue um endere o interno de um endere o externo ao website para que seja poss vel estabelecer prioridades Por fim como se pode ver na Figura 2 o sistema guarda os dados de modo a que um utilizador os possa aceder futuramente Castillo 2004 World Wide Web Web Pages Vv Multi threaded Scheduler URLs gt Downloader and Parser Metadata Queue URLs R Storage
60. s Cada vez mais visitas de programas autom ticos de recolha de dados acontecem Estas aplica es actuam quando existem tarefas simples e estruturalmente repetitivas na internet onde s o criadas ferramentas espec ficas para resolver essas tarefas eficientemente e a um ritmo t o alto que se torna humanamente imposs vel acompanhar Muitas destas ferramentas apresentam tarefas especializadas e um nome associado como Spiders Bots Aggregators e Agents Como se pode observar na Figura 1 existe uma hierarquia referente a estas aplica es Qualquer programa que aceda internet e que recolha dados de localiza es espec ficas pode se dizer que um Internet Bot Quando o programa recebe algum tipo de treino do utilizador para procurar uma informa o que pode ter algum tipo de interesse para o utilizador j se denomina de Agent Um Aggregator consiste num bot capaz de combinar dados de v rias p ginas da web cuja informa o relacionada entre si As Spiders ou web crawlers j s o especializados em percorrer grandes quantidades de p ginas na internet Heaton 2002 Internet Bots t Agents Aggregators Spiders Figura 1 Hierarquia dos Internet Bots Provavelmente o maior uso destas ferramentas no chamado web crawling que como se vai ver de seguida consiste num conjunto de aplica es que procuram analisam e classificam dados para depois disponibilizar essa informa o rapidamente a um utilizador 2 1 Web Crawler
61. seja usado j esteja configurado 36 Configurar Base de Dados Principal Base de dados Principal 1 Caminho Ca Teste coddistconctreg xls Procurar Nome da Folha Cod Freguesias Coluna C digo 0 Linha de Come o dos C digos 4 Coluna Distrito 2 Coluna Concelho 4 Coluna Freguesia 6 Figura 22 Primeiro passo da aplica o Na Figura 23 percebe se que no segundo passo o utilizador tem disposi o uma interface para gerir bases de dados na aplica o isto assim poss vel adicionar mais informa o com objectivo de que esta seja a mais actualizada e completa poss vel ponto 1 da Figura 23 Com a adi o de novas bases de dados poss vel seleccionar quais as colunas que v o ser procuradas por informa o mas para isso requer o n mero da coluna dos c digos das freguesias ponto 2 da Figura 23 A especifica o das tabelas inerentes aos ficheiros muito importante para o correcto funcionamento do programa e por isso as colunas devem ser nomeadas A atribui o de nome s colunas do ficheiro extremamente simples pois cada linha da rea de texto corresponde ao nome de uma coluna ponto 3 da Figura 23 Neste ponto preciso ter algum cuidado pois por vezes podem existir colunas ocultas e a sua n o inser o causa uma sa da de dados da aplica o inesperada Ap s a atribui o poss vel fazer a selec o das colunas que se pretendem examinar no resultado final ponto 4 da Figura 23
62. ta de Abreviaturas ANAFRE Associa o Nacional de Freguesias AR Assembleia da Rep blica ATA Autoridade Tribut ria e Aduaneira CAOP Carta Administrativa Oficial de Portugal CAPTCHA Completely Automated Public Turing test to tell Computers and Humans Apart CSV Comma Separated Values Dos Denial of Service HTML Hypertext Markup Language IGESPAR Instituto de Gest o do Patrim nio Arquitect nico e Arqueol gico IGP Instituto Geogr fico Portugu s INE Instituto Nacional de Estat stica MMORPG Massive Multiplayer Online Role Playing Game NPC Non Player Character OLEDB Object Linking and Embedding Database WWW World Wide Web XLS Excel Binary File Format vi 1 Introdu o O incr vel crescimento em dimens o da internet respons vel pela cria o de cada vez mais conhecimento um importante activo capaz de impulsionar empresas e estimular na es Contudo com este aumento tamb m cada vez mais toda essa informa o fica espalhada por diversos websites e por vezes dispersa por v rios ficheiros dentro do mesmo A consequ ncia destes dados estarem distribu dos a dificuldade de os recolher e organizar por exemplo para actualizar uma base de dados por isso um grande desafio para um utilizador comum recolher toda essa informa o Como Portugal atravessa uma crise econ mica por vezes estas realidades s o postas em segundo plano Devido a uma recente lei
63. tes testes Os testes de sistema abrangem todas as caracter sticas da aplica o mais especificamente todas as op es de todos os passos do sistema foram usados simulando assim todos os casos e eventos poss veis Al m de usar dados anormais de entrada para provar que as opera es mais comuns n o causam um crash na aplica o um outro tipo de teste aplicado conhecido por testes de lan amento Este tipo de teste tem como objectivo assegurar que o sistema faz o que suposto fazer de acordo com os requisitos mas mais focado numa aproxima o aos chamados testes de cen rio Nestes testes v rios cen rios de utiliza o foram concebidos assim como foram desenvolvidos os seus casos de teste Por exemplo ao selecionar uma ou algumas freguesia e guardando os resultados para um nico ou v rios ficheiro foram cen rios ou caminhos em que o sistema normalmente usado 35 3 5 Tutorial da Aplica o Como em qualquer outro programa necess rio criar um manual de utiliza o ou tutorial de modo a dar a conhecer ao utilizador as capacidades da ferramenta A interface deste programa foi desenhada a pensar no utilizador devido a ser bastante simples e intuitiva Pelo lado simples usa ficheiros xls como bases de dados que s o bastante comuns quando se usam tabelas e folhas de c lculo intuitivo devido ao facto de se utilizar uma s rie de passos para se chegar ao conte do final como se fosse um simples instalador
64. todas as etapas e actividades do projecto s o planeadas antecipadamente e por isso a progress o do trabalho medida atrav s deste planeamento O modelo em cascata um processo de desenvolvimento de software que em teoria considera que uma actividade tem de estar terminada para prosseguir para a pr xima mas na pr tica este modelo raramente linear o que implica um determinado feedback entre actividades Este modelo foi alterado de modo a integrar se no desenvolvimento deste software como poss vel visualizar na Figura 3 contando assim com quatro actividades fundamentais Sommerville 2010 1 An lise de requisitos onde todas as funcionalidades e restri es da opera o do software s o definidas 2 Desenho que envolve identificar os componentes fundamentais do sistema e seus relacionamentos 3 Implementa o onde se converte o desenho para um programa de computador 4 Testes para assegurar que o programa faz aquilo que suposto fazer de acordo com os requisitos de software 13 Requisitos 7 El Desenho Pp Lo Implementa o LI Testes Figura 3 Diagrama do modelo em cascata usado As seguintes quatro sec es descrevem com detalhe estas quatro actividades Posteriormente apresentado um manual de utiliza o da aplica o desenvolvida 3 1 An lise de requisitos A an lise de requisitos do sistema a base de todo o projecto e por isso todas as escolhas feitas s o cr ticas para o seu sucess
65. tools to emerge was the web crawler which is the basis of how search engines work Another important class of tools called internet bots or simply bots from the word robot is used to help humans manage large quantities of data Even though Wikipedia uses bots for over 10 years the web pages of Portuguese civil parishes are frequently outdated or have insufficient information In addition the data that can be used to update these web pages is scattered in various sources and in a format that does not allow an easy comparison between two or more parishes For instance an organization may need to compare the distribution of population from various parishes according to the number of people per family age group or marital status This work describes the development of an automated tool to gather information from various sources both online and offline about Portuguese civil parishes Efreguesias in Portuguese following the main steps of Software Engineering namely requirement specification application design and implementation and testing The result of this particular work for a particular case demonstrates the construction of an easy and accessible tool that both basic and advanced users can use to extract information about Portuguese civil parishes 1v Palavras Chave Internet Bots Web crawlers HTML Parsing Wikip dia Freguesias Actualiza o Engenharia de Software Bases de Dados Informa o Lis
66. tring texto antigo lt n o apague esta linha gt pagina de testes lt nao apague tes ta SINS ES ERE VAR AO A Cs E co open E string texto novo texto antigo texto introduzir if textArea null adicionar texto do utilizador textArea InnerText texto novo HtmlElement button_preview webBrowser1 Document All wpPreview nome do bot o if carregou clicar no bot o wpPreview button preview InvokeMember click carregou 1 carregou if carregou gt 2 webBrowser1 Show Figura 17 Fragmento de c digo do click de um bot o numa p gina web Na Figura 18 apresenta se o m todo para aceder s bases de dados offline mais propriamente a ficheiros de folhas de c lculo em XLS do Excel realizado atrav s de OLEDB facilitando assim a codifica o para esse acesso de modo que s necess rio saber onde est o ficheiro o nome da folha os c digos das freguesias a pesquisar e as colunas onde procurar A conex o o fragmento de c digo mais importante pois define o ficheiro que est a ser acedido e portanto o bom funcionamento do programa depende muito da sua correcta configura o String connection String Format Provider Microsoft Jet OLEDB 4 0 Data Source 0 Extended Properties Excel 8 0 HDR YES IMEX 1 Importmixedtypes text typeguessrows 0 caminho configurar a conex o ao ficheiro OleDbConnection con new OleDbConnection connection DataTable dt
67. vra que l estiver confirmando assim que n o um computador Mais recentemente este software em alguns casos passou a integrar duas imagens em que uma igual que estava em vigor e a outra nova pertence a um livro ou imagens fotogr fias de forma a identificar o que l est escrito Denomina se reCAPTCHA e tem como objectivo ajudar a digitalizar livros jornais e programas de r dio mais antigos Como cerca de 200 milh es de CAPTCHAs s o resolvidas todos os dias por humanos decidiram canalizar esse esfor o para algo extremamente positivo tornar estes puzzles em livros que realmente se possam ler Google Inc 2013 2 2 3 An lise de bots da Wikip dia Para manipular uma grande quantidade de dados de forma aut noma e eficaz no ano de 2002 foi criado um dos primeiros bots da Wikip dia chamando se Rambot Ramsey 2010 Este bot tinha uma simples mas muito til tarefa que se baseava numa base de dados dos Censos dos Estados Unidos da Am rica e em curtas frases que seriam preenchidas com essa informa o sobre as localidades Com este desenvolvimento ao serem geradas p ginas de virtualmente todos os locais possibilitou uma expans o da informa o por parte dos utilizadores Os bots s o usados para simplificar e ajudar os humanos a controlar e organizar grandes quantidades de dados mas com algumas altera es estes podem danificar irremediavelmente uma quantidade enorme de p ginas antes que fosse detectado por um human
68. xistir mudan a conforme o sistema evolui A actividade seguinte o desenho do software onde se come a a interligar as diferentes partes do sistema e eventualmente problemas relacionados com os requisitos podem surgir Como na pr tica o modelo em cascata n o linear existe um forte feedback entre estas duas actividades devido s poss veis mudan as para consertar os problemas de interliga es 15 3 1 1 Dados e bases de dados A selec o das bases de dados que se podem utilizar est separada em dois grupos as que s o acedidas atrav s da internet e as que est o em ficheiros guardados no computador online e offline portanto As bases de dados que est o na internet s o as que englobam dados referentes a moradas contactos monumentos e at alguma poss vel descri o hist rica das freguesias Estes endere os s o Para recolha de moradas e mails p gina web e contactos tais como telefone ou fax existe o site da Associa o Nacional de Freguesias ANAFRE www anafre pt Para recolha de dados estat sticos que abrangem toda a situa o social em Portugal pode aceder se p gina da PORDATA www pordata pt onde se podem encontrar dados sobre a popula o sa de educa o emprego e condi es de trabalho produto rendimentos e n veis de vida habita o conforto e bem estar seguran a social cultura justi a contas nacionais e fun o social do estado empresas e trabalhadores entr
69. xto j tratado pela aplica o Para al m disso t m se acesso ltima tabela que o programa construiu podendo ser reutilizada no programa com uma simples convers o Base Partilhar Ver v 4 m Computador HDD720 D Ficheiros v Procurar em Ficheiros eS XX Favoritos Nome Data de modifica Tipo Tamanho E Ambiente de trabalho 3 AGUAS SANTAS tet 22 03 2013 12 52 Documento de tex Dropbox AVIOSO S PEDRO bt 22 03 2013 12 52 Documento de tex El Locais recentes E AVIOSO SANTA MARIA bd 22 03 2013 12 52 Documento de tex B Transfer ncias BARCA bt 22 03 2013 12 52 Documento de tex E FOLGOSA bt 22 03 2013 12 52 Documento de tex Bibliotecas _ GEMUNDE bt 22 03 2013 12 52 Documento de tex ES Documentos L GONDIM bt 22 03 2013 12 52 Documento de tex E Imagens B GUEIF ES bt 22 03 2013 12 52 Documento de tex d M sica E MAIA bt 22 03 2013 12 52 Documento de tex z V deos L MILHEIROS bt 22 03 2013 12 52 Documento de tex MOREIRA bt 22 03 2013 12 52 Documento de tex a Grupo Dom stico NOGUEIRA bt 22 03 2013 12 52 Documento de tex _ PEDROU OS bt 22 03 2013 12 52 Documento de tex Mi Computador E S PEDRO FINS bd 22 03 2013 12 52 Documento de tex E SILVA ESCURA bd 22 03 2013 12 52 Documento de tex N Rede El ultima tabela csv 22 03 2013 12 52 Ficheiro de Valore VERMOIM bt 22 03 2013 12 52 Documento de tex E VILA NOVA DA TELHA bd 22 03 2013 12 5
Download Pdf Manuals
Related Search
Related Contents
Operator`s Manual Manual de Operario Quantum vmPRO 4000 Release Notes Lindy 41047 video converter Philips DLM1392 Model NV-EC1701 EoC Ethernet over Coax Télécharger cv complet (fr) Sears Eclipse 1000HR User's Manual MAC III™ PROFILE Morphy Richards Brita User Manual Copyright © All rights reserved.
Failed to retrieve file