function retorna_links_endereco_url($codigo_html_site, $endereco_url_site) { // globals ---------------------------------------------------------------- global $numero_maximo_links_pagina; // numero maximo de links por pagina // -------------------------------------------------------------------------- // host principal ------------------------------------------------------ $host_site = retorna_host_url($endereco_url_site); // host do site // -------------------------------------------------------------------------- // array com dados de retorno ---------------------------------- $array_dados_retorno = array(); // array com dados de retorno $array_dados_buffer = array(); // dados de array de buffer temporario // -------------------------------------------------------------------------- // dom com objetos do codigo html ---------------------------- $dom = new domDocument(); // dom com objetos do codigo html // -------------------------------------------------------------------------- // obtendo codigo html de site ------------------------------------ @$dom->loadHTML($codigo_html_site); // obtendo codigo html de site // -------------------------------------------------------------------------- // representa documento html por completo ---------------- $dom->preserveWhiteSpace = false; // representa documento html por completo // -------------------------------------------------------------------------- // obtendo dom por tag -------------------------------------------- $endereco_sites = $dom->getElementsByTagName('a'); // obtendo dom por tag // -------------------------------------------------------------------------- // obtendo links da pagina ---------------------------------------- foreach ($endereco_sites as $url_link_principal) { // endereco url -------------------------------------------------------- $endereco_url = $url_link_principal->getAttribute('href'); // endereco url // -------------------------------------------------------------------------- // endereco url normal, sera usado para verificar se a url nao e null // ---- usado apenas para comparacao de valor nulo! $endereco_url_normal = $url_link_principal->getAttribute('href'); // endereco url normal // -------------------------------------------------------------------------- // verifica se o link esta completo -------------------------------- if (retorna_host_url($endereco_url) == null) { // adiciona protocolo e host de link ------------------------------ $endereco_url = "http://{$host_site}" . $endereco_url; // completa link // ---------------------------------------------------------------------------- } // -------------------------------------------------------------------------- // titulo do link ---------------------------------------------------------- $titulo_link = $url_link_principal->childNodes->item(0)->nodeValue; // titulo do link // -------------------------------------------------------------------------- // endereco host de url de link -------------------------------------- $host_url_link = retorna_host_url($endereco_url); // endereco host de url de link // -------------------------------------------------------------------------- // puxa links de host diferentes ---------------------------------- puxa_links_host_diferente($endereco_url_site, $endereco_url, $titulo_link); // puxa links de host diferentes // ------------------------------------------------------------------------ // atualiza array de retorno ---------------------------------------- if (retorne_elemento_array_existe($array_dados_retorno, $endereco_url) == false and $endereco_url_normal != null and $titulo_link != null and $host_site == $host_url_link) { // atualizando array com links de pagina ---------------------- $array_dados_retorno[$endereco_url] = $titulo_link; // atualizando array com links de pagina // ------------------------------------------------------------------------ } // -------------------------------------------------------------------------- // tamanho do array -------------------------------------------------- $tamanho_array = count($array_dados_retorno); // tamanho do array // -------------------------------------------------------------------------- // verifica se atingiu o tamanho de alocacao maximo ------ if ($tamanho_array > $numero_maximo_links_pagina) { break; // saindo de foreach } // -------------------------------------------------------------------------- } // -------------------------------------------------------------------------- // aloca resultados no buffer -------------------------------------- $array_dados_buffer = $array_dados_retorno; // aloca resultados no buffer // -------------------------------------------------------------------------- // varrendo array de buffer ------------------------------------------ foreach ($array_dados_buffer as $endereco_url_buffer => $titulo_buffer) { // urls de url principal ------------------------------------------------ $sublinks_array = puxar_sublinks($endereco_url_buffer); // urls de url principal // -------------------------------------------------------------------------- // obtendo sublinks e atualizando array de retorno -------- foreach ($sublinks_array as $url_sublink) { // titulo de sublink ---------------------------------------------------- $titulo_sublink = basename($url_sublink); // titulo de sublink // ------------------------------------------------------------------------ // endereco host de url de link -------------------------------------- $host_url_link = retorna_host_url($url_sublink); // endereco host de url de link // -------------------------------------------------------------------------- // puxa links de host diferentes ---------------------------------- puxa_links_host_diferente($endereco_url_site, $url_sublink, $titulo_sublink); // puxa links de host diferentes // ------------------------------------------------------------------------ // atualiza array de retorno ---------------------------------------- if (retorne_elemento_array_existe($array_dados_retorno, $url_sublink) == false and $url_sublink != null and $host_site == $host_url_link) { // atualizando array com links de pagina ------------------------ $array_dados_retorno[$url_sublink] = $titulo_sublink; // atualizando array com links de pagina // ------------------------------------------------------------------------ } // -------------------------------------------------------------------------- } // -------------------------------------------------------------------------- // tamanho do array -------------------------------------------------- $tamanho_array = count($array_dados_retorno); // tamanho do array // -------------------------------------------------------------------------- // verifica se atingiu o tamanho de alocacao maximo ------ if ($tamanho_array > retorne_tamanho_pode_indexar_site()) { break; // saindo de foreach } // -------------------------------------------------------------------------- } // -------------------------------------------------------------------------- // retorno ---------------------------------------------------------------- return $array_dados_retorno; // retorno // -------------------------------------------------------------------------- }
function retorna_links_endereco_url($codigo_html_site, $endereco_url_site) { global $numero_maximo_links_pagina; // numero maximo de links por pagina $host_site = retorna_host_url($endereco_url_site); // host do site $array_dados_retorno = array(); // array com dados de retorno $array_dados_buffer = array(); // dados de array de buffer temporario $dom = new domDocument(); // dom com objetos do codigo html @$dom->loadHTML($codigo_html_site); // obtendo codigo html de site $dom->preserveWhiteSpace = false; // representa documento html por completo $endereco_sites = $dom->getElementsByTagName('a'); // obtendo dom por tag foreach ($endereco_sites as $url_link_principal) { $endereco_url = $url_link_principal->getAttribute('href'); // endereco url $endereco_url_normal = $url_link_principal->getAttribute('href'); // endereco url normal if (retorna_host_url($endereco_url) == null) { $endereco_url = "http://{$host_site}" . $endereco_url; // completa link } $titulo_link = $url_link_principal->childNodes->item(0)->nodeValue; // titulo do link $host_url_link = retorna_host_url($endereco_url); // endereco host de url de link puxa_links_host_diferente($endereco_url_site, $endereco_url, $titulo_link); // puxa links de host diferentes if (retorne_elemento_array_existe($array_dados_retorno, $endereco_url) == false and $endereco_url_normal != null and $titulo_link != null and $host_site == $host_url_link) { $array_dados_retorno[$endereco_url] = $titulo_link; // atualizando array com links de pagina } $tamanho_array = count($array_dados_retorno); // tamanho do array if ($tamanho_array > $numero_maximo_links_pagina) { break; // saindo de foreach } } $array_dados_buffer = $array_dados_retorno; // aloca resultados no buffer foreach ($array_dados_buffer as $endereco_url_buffer => $titulo_buffer) { $sublinks_array = puxar_sublinks($endereco_url_buffer); // urls de url principal foreach ($sublinks_array as $url_sublink) { $titulo_sublink = basename($url_sublink); // titulo de sublink $host_url_link = retorna_host_url($url_sublink); // endereco host de url de link puxa_links_host_diferente($endereco_url_site, $url_sublink, $titulo_sublink); // puxa links de host diferentes if (retorne_elemento_array_existe($array_dados_retorno, $url_sublink) == false and $url_sublink != null and $host_site == $host_url_link) { $array_dados_retorno[$url_sublink] = $titulo_sublink; // atualizando array com links de pagina } } $tamanho_array = count($array_dados_retorno); // tamanho do array if ($tamanho_array > retorne_tamanho_pode_indexar_site()) { break; // saindo de foreach } } return $array_dados_retorno; // retorno }
function retorna_imagens_endereco_url($codigo_html_site, $endereco_url_site) { // separador de informacoes ------------------------------------ global $separador_dados_tabela; // separador de informacoes global $busca_subimagens_ativada; // informa se a busca por subpaginas esta ativada ou desativada global $numero_maximo_links_pagina; // numero maximo de links por pagina // -------------------------------------------------------------------------- // array com dados de retorno ---------------------------------- $array_dados_retorno = array(); // array com dados de retorno // -------------------------------------------------------------------------- // dom com objetos do codigo html ---------------------------- $dom = new domDocument(); // dom com objetos do codigo html // -------------------------------------------------------------------------- // obtendo codigo html de site ------------------------------------ @$dom->loadHTML($codigo_html_site); // obtendo codigo html de site // -------------------------------------------------------------------------- // representa documento html por completo ---------------- $dom->preserveWhiteSpace = false; // representa documento html por completo // -------------------------------------------------------------------------- // obtendo dom por tag -------------------------------------------- $endereco_sites = $dom->getElementsByTagName('img'); // obtendo dom por tag // -------------------------------------------------------------------------- // obtendo links da pagina ---------------------------------------- foreach ($endereco_sites as $tag) { // obtendo dados de imagem ------------------------------------ $imagem_url = $tag->getAttribute('src'); // url de imagem $imagem_titulo = $tag->getAttribute('title'); // titulo de imagem $imagem_alt = $tag->getAttribute('title'); // alt de imagem // -------------------------------------------------------------------------- // atualiza array de dados de imagem primario ---------- $dados_array_imagem[][0] = $imagem_url . $separador_dados_tabela; // url $dados_array_imagem[][1] = $imagem_titulo . $separador_dados_tabela; // titulo $dados_array_imagem[][2] = $imagem_alt . $separador_dados_tabela; // alt // -------------------------------------------------------------------------- // verifica se array de dados de imagem tem coneudo - if ($imagem_url != null and retorne_elemento_array_existe($array_dados_retorno, $imagem_url) == false) { // atualiza array de retorno final -------------------------------- $array_dados_retorno[] = $dados_array_imagem; // atualizando array com links de pagina // -------------------------------------------------------------------------- } // -------------------------------------------------------------------------- // tamanho do array -------------------------------------------------- $tamanho_array = count($array_dados_retorno); // tamanho do array // -------------------------------------------------------------------------- // verifica se atingiu o tamanho de alocacao maximo ------ if ($tamanho_array > $numero_maximo_links_pagina) { break; // saindo de foreach } // -------------------------------------------------------------------------- } // -------------------------------------------------------------------------- // verifica se o modo de subpaginas esta ativado ---------------------- if ($busca_subimagens_ativada == true) { // array com links de subpaginas -------------------------------- $links_subpaginas = retorna_links_endereco_url_sem_sublinks($codigo_html_site, $endereco_url_site); // -------------------------------------------------------------------------- // obtendo enderecos de subpaginas -------------------------- foreach ($links_subpaginas as $url_subpagina => $titulo_subpagina) { // dados de subimagens de subpaginas -------------------- $dados_array_subimagem = puxar_subimagens($url_subpagina); // atualiza array de retorno com subimagens // -------------------------------------------------------------------------- // obtendo dados de subimagens ------------------------------ foreach ($dados_array_subimagem as $url_subimagem => $titulo_subimagem) { // atualiza array de dados de imagem primario ---------- $dados_array_imagem[][0] = $url_subimagem . $separador_dados_tabela; // url $dados_array_imagem[][1] = $titulo_subimagem . $separador_dados_tabela; // titulo $dados_array_imagem[][2] = $titulo_subimagem . $separador_dados_tabela; // alt // -------------------------------------------------------------------------- // verifica se array de dados de imagem tem coneudo - if ($url_subimagem != null) { // atualiza array de retorno final -------------------------------- $array_dados_retorno[] = $dados_array_imagem; // atualizando array com links de pagina // -------------------------------------------------------------------------- } // -------------------------------------------------------------------------- // tamanho do array -------------------------------------------------- $tamanho_array = count($array_dados_retorno); // tamanho do array // -------------------------------------------------------------------------- // verifica se atingiu o tamanho de alocacao maximo ------ if ($tamanho_array > retorne_tamanho_pode_indexar_site()) { break; // saindo de foreach } // -------------------------------------------------------------------------- } // -------------------------------------------------------------------------- } // -------------------------------------------------------------------------- } // ---------------------------------------------------------------------------------------- // retorno ---------------------------------------------------------------- return $array_dados_retorno; // retorno // -------------------------------------------------------------------------- }
// conecta ao mysql // ------------------------------------------------------------------ // conecta ao banco de dados ------------------------------ conecta_banco_dados($nome_banco_novos_sites_indexar); // conecta ao banco de dados // ------------------------------------------------------------------ // query ---------------------------------------------------------- $query = "insert into {$nome_prefixo_tabela_novo_host} values('{$site_endereco}');"; // query // ------------------------------------------------------------------ // numero de linhas ------------------------------------------ $numero_linhas = retorna_numero_novos_hosts_indexar($conexao_mysql_conectar); // numero de linhas // ------------------------------------------------------------------ // verifica se o numero de linhas e maior que o permitido ---------- if ($numero_linhas > retorne_tamanho_pode_indexar_site()) { echo "A tabela tem hosts demais, escolha outro servidor!"; die; // saindo } // -------------------------------------------------------------------------------- // resposta se o host esta cadastrado ---------------------------------- $host_cadastrado_resposta = retorne_host_tabela_indexar_existe($site_endereco); // resposta se o host esta cadastrado // -------------------------------------------------------------------------------- // executa comando para salvar ---------------------------- if ($site_endereco_comparar != null and $host_cadastrado_resposta == false) { // roda query -------------------------------------------------- $comando = comando_executa($query); // roda query // ------------------------------------------------------------------