Ir para conteúdo
Fórum Script Brasil
  • 0

Resgatando Urls Atraves De Uma Url


hospedasul soluçoes inteligentes

Pergunta

Boa Tarde Amigos,

Estamos desenvolvendo uma aplicação robotica para visitar páginas da web e extrair links da mesma.

Temos uma função que resgata o codigo fonte da pagina a servisitada, precisamos realizar agora uma pesquisa dentre deste resultado e apenas resgatar os endereços de outros sites.

Ex: se no codigofonte do site que abriu tiver um link para o site do google, apos ele armazenar os conteudos desta pagina pretendemos que ele já pegue este link do google e já pesquise no codigo fonte para ves se tem outross links e assim por diante.

No momento o que precisamos é conseguir resgatar os urls.

Prometo que posto depois o script completo de pesquisa aqui no forum..

Forte abraço a todos...

Hospeda SUL - Soluções Inteligentes

Visite: www.hospedasul.com.br

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Em resumo... o que você quer é o que google, yahoo, altavista, etc fazem... isso não se faz do dia pra noite... na verdade navegar no código fonte é fácil, a parte de inteligência do script que é exatamente ele conseguir achar os links e ir avançando que é a mais complicada, e acho que uma pessoa sozinha não consegue fazer um script realmente eficiente senão utilizando alguns meses... uma vez eu achei uma aplicação que tava pela metade, vou ver se tenho salvo no HD, se tiver eu passo e alguém continua...

Link para o comentário
Compartilhar em outros sites

  • 0

Perfeito eu agradeço, mas na verdade fiz um pequeno teste na minha aplicação e já obtive um resultado esperado, na verdade ele começa a ler o site e armazena a url do mesmo no db, sempre que ele acha uma url ou na verdade um valor que eu determinei ele puxa a função para incluir no sql o site desde que o mesmo já não exista, apos incluir todos os sites da url, ele retorna no banco de dados e lista as urls que cadastrou, ex: www.google.com.br, www.teste.com.br ai ele abre a url google e ao retornar "GO" indicando que o socket conseguiu conectar a url, já edita a coluna "status" e coloca a informação "READ".

Para que na proxima vez ele não leia a mesma url novamente.

Na verdade sei que em php vai ser dificil fazer com que este scrip fique rodando dias, porem preciso desenvolver, pois tem uma empresa na regiao onde moro que disse que seu eu fizer o script em PHP eles desenvolve em C e pegam para eles porem me dao uma copia gratis...

Pra mim não importa se eles vao comercializar entendeu importa so colocar meu projeto no ar...

So preciso saber como pesquisar em uma variavel e extrair a url ex:

$conent = "<html><head><a href='http://www.nomedosite.com.br'>Clique Aqui</a></head></html>";

precisava resgatar apenas a url ou urls.. Quem puder passar qualquer informação eu agradeço prometo que posto todo o script completo aqui.

Link para o comentário
Compartilhar em outros sites

  • 0

para agilizar ainda mais o sistema utilize expressão regular,

usando a função: int preg_match(string pattern, string subject, array [matches]);

ficaria mais ou menos assim o código:

<?
  $text = "http://www.google.com.br";
  if (preg_match("(?i)(FTP|HTTP[S])://([_a-z\d\-]+(\.[_a-z\d\-]+)+)((/[ _a-z\d\-\\\.]+)+)*", $text, $matchs)){
    for($x = 0; $x < $count($matchs); $x++){
      echo $match[$x][0] . "<br>";
    }
  }
?>

a expressão pode ser (?i)((FTP|HTTP)://)?([_a-z\d\-]+(\.[_a-z\d\-]+)+)((/[ _a-z\d\-\\\.]+)+)*

para poder pegar urls sem http:// ou ftp:// ou https:// mas não acho recomendável...

espero ter ajudado... flws

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amgio muito obrigado por sua ajuda estamos quase la...

Vou lhe dizer que não entendo nada de "(?i)(FTP|HTTP)://([_a-z\d\-]+(\.[_a-z\d\-]+)+)((/[ _a-z\d\-\\\.]+)+)*"

Na verdade quando executo o codigo ele retorna

Warning: Unknown modifier '(' in c:\windows\serv-n\www\teste.php on line 3

Me parece que ele não esta reconhecendo ou esta dando erro no caracter: (?i)

Link para o comentário
Compartilhar em outros sites

  • 0

E ai galerinha, peço a ajuda de vocês... alguém sabe como resolver esta questão ? O codigo do colega acima é o que preciso porem como tem pearl eu não entendo muito bem, mas sei que o erro esta aqui:

"(?i)(FTP|HTTP)://([_a-z\d\-]+(\.[_a-z\d\-]+)+)((/[ _a-z\d\-\\\.]+)+)*"

alguém poderia dar uma dica sobre qual item esta errado?

Obrigado desde já!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...