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

Ler código fonte de página HTML com Delphi


luizf

Pergunta

Gostaria de saber se tem como ler o código fonte de uma página html qualquer (página de site, não de página armazenada no pc).

Por exemplo:

Copiar um link. A partir desse link, ler toda o código fonte da página, sem precisar exibir o código, mas que tenha a possibilidade de exibir, se necessário.

Se for possível, algo desse tipo, o que pretendo fazer é ler o código (sem exibir o mesmo) e procurar por uma linha, ou um string/substring qualquer.

Se alguém souber como ler, dá uma ajuda ae. Valeu T+

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Consegui encontrar dois artigos de como mostrar o código html da página.

Deu certo, mostrou.

Mas, fiz o teste em uma página que preciso procurar a tal linha, não bem deu certo.

Mostrou o código html, mas não mostro tudo porque na página tem código XHTML.

Será possivel exibir esse tipo de código?

Link para o comentário
Compartilhar em outros sites

  • 0

Mas, clicando com o botão direito na página e em Exibir Código-Fonte, é exibido todo o código, se não for todo o código, pelo menos o link que preciso aparece no código.

Mas no programa feito em Delphi, não aparece o link.

O que estou querendo fazer é um gerenciador de download (para uso pessoal) do 4shared.com, normalmente, é preciso clicar em "Download Now", depois esperar de 10 a uns 60 segundos, para então clicar em "Click here to download this file".

Mas achei umas dicas na internet de como usar gerenciador de download para baixar arquivos no 4shared.

Mas, precisaria pegar o links no código-fonte, arquivo por arquivo, daí pensei, porque não fazer um programa para isso.

Entendeu?

Deve haver uma maneira de fazer com que seja exibido mais código, além do html, pois manualmente posso ver.

Link para o comentário
Compartilhar em outros sites

  • 0

Encontrei uma dica na net, mostrou o código que precisava:

var
  LinkPag: String;
begin
  LinkPag:= IdHTTP1.Get('http://www.4shared.com/file/6514429/e61457b3/delphi_-_a_biblia_-_borland.html?s=1');
  Memo1.Lines.Add(LinkPag);
end;
Agora preciso de mais uma coisinha. No código da página, tem:
function startPlayMedia(){
    playMedia(document,'http://dc95.4shared.com/download/6514429/e61457b3/Delphi_-_A_Biblia_-_Borland.doc?tsid=20090709-221157-926ae2f1','doc');
    document.getElementById("pButton").style.display = "none";
    if( document.getElementById("smallImage") ){
      document.getElementById("smallImage").style.display = "none";
    }
  }

O que preciso, é:

http://dc95.4shared.com/download/6514429/e...221157-926ae2f1 (link do arquivo)

e

doc (extensão do arquivo)

De preferencia sem precisar carregar em um memo ou outro componente parecido.

Por exemplo, fornecer o link e ao invés de carregar o código inteiro, que me mostre o NomeArquivo.Ext.

Como é que posso procurar esses dois itens no código da página.

T+

Editado por luizf
Link para o comentário
Compartilhar em outros sites

  • 0

Voce precisa jogar o codigo em algum lugar para que possa procurar o que deseja

Exemplo:

Se o conteudo da pagina for jogado dentro de um memo, voce pode usar dessa maneira

procedure TForm1.Button1Click(Sender: TObject);
var s : string;
begin
   if pos('http://',memo1.lines.text)> 0 then
      begin
         s :=  copy(memo1.lines.text,pos('http://',memo1.lines.text),pos('.doc?',memo1.lines.text)-1);
         s :=  copy(s,pos('http://',s),pos('.doc?',s)+3);
      end;
   edit1.text := s;
end;

o resultado seria este

http://dc95.4shared.com/download/6514429/e61457b3/Delphi_-_A_Biblia_-_Borland.doc

voce pode tentar outras maneiras

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Não quero jogar em um memo para não ficar com muitos componentes.

Tava pensando em salvar em um arquivo de texto (temporario ou não), salvando o código da página fazer a procura e quando for salvar outro código poderia usar o mesmo arquivo.

É possivel fazer da maneira que voce fez, mas usando um arquivo de texto?

Link para o comentário
Compartilhar em outros sites

  • 0
Tava pensando em salvar em um arquivo de texto (temporario ou não), salvando o código da página fazer a procura e quando for salvar outro código poderia usar o mesmo arquivo.

É possivel fazer da maneira que voce fez, mas usando um arquivo de texto?

E sim ... basta fazer esta modificação

procedure TForm1.Button1Click(Sender: TObject);
var
   Caminho: TextFile;
   Line, S : string;
begin
   S := '';
   AssignFile(Caminho, 'c:\HTML.txt');
   Reset(Caminho);
   while not EOF(Caminho) do
      begin
        ReadLn(Caminho, Line);
        S := S + LINE;
      end;
   CloseFile(Caminho);

   if pos('http://',S)> 0 then
      begin
         s :=  copy(S,pos('http://',S),pos('.doc?',S));
         s :=  copy(S,pos('http://',S),pos('.doc?',S)+3);
      end;
   edit1.text := S;
end;

abraço

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,4k
×
×
  • Criar Novo...