@Override
    public void visit(Page page) {
        String url = page.getWebURL().getURL();
        System.out.println("URL: " + url);

        if (page.getParseData() instanceof HtmlParseData) {
            HtmlParseData htmlParseData = (HtmlParseData) page.getParseData();
            String text = htmlParseData.getText();
            String html = htmlParseData.getHtml();
            List<WebURL> links = htmlParseData.getOutgoingUrls();

            //System.out.println("Text length: " + text.length());
            //System.out.println("Html length: " + html.length());
            //System.out.println("Number of outgoing links: " + links.size());

            //Divisão do texto rastreado da página
            String word[] = text.split(" ");

            //Declaração do vetor de Pessoas encontradas na página
            Vector<Person> person = new Vector<Person>();

            //Definição inicial do offset
            int offset = 0;

            //Busca por Entidades Nomeadas (Em fase de implementação. Palavras iniciadas por 'A'.)
            for (int i = 0; i < word.length; i++) {

                String rawWord = cleanWord(word[i]);

                if (isPerson(rawWord)) {

                    person = inserPerson(rawWord, offset, person);

                }

                offset += (word[i].length() + 1);

            }


            //Objeto de Conexão com banco
            Connection connection = new ConnectionFactory().getConnection();
            CasualDAO sqlInject = new CasualDAO(connection);

            int id1, id2;

            //Procedimentos de Gravação no Banco
            for (Person p1 : person) {

                for (Person p2 : person) {

                    if (p1.getName() != p2.getName()) {
                        //Inserção de pessoas
                        id1 = sqlInject.inserePessoa(p1);
                        id2 = sqlInject.inserePessoa(p2);
                        //Inserção de Relacionamento
                        sqlInject.insereRelacionamento(p1, p2, id1, id2, url);
                    }

                }
            }
            try {
                connection.close();
            } catch (SQLException ex) {
                Logger.getLogger(MyCrawler.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }