Mais vendidos

veja mais...

jQuery : Como obter html de sites externos com php + jQuery

Um pouco de programação. Utilizando o jQuery para pegar o conteúdo de uma página externa com o auxílio da linguagem PHP. o jQuery nativamente não faz esta função em servidores externo, somente no servidor próprio.

Atualizado

Olá a todos,

Com este post iniciarei uma série de pequenas dicas de programação nas linguagens que tenho conhecimento.

Serão problemas simples. Códigos curtos, pelo menos a princípio.

Dando início aos trabalhos, uma dica de jQuery, em que reconheço sou ainda novato, e foco mais em back-end.

Introdução ao problema

Carregar o conteúdo de um html de um outro site, que não seja o nosso, dentro de uma div interna do nosso html (ou php)

Para o carregamento de páginas é comum o uso da função load() do jQuery, que funciona muito bem neste caso :

$(‘#minhaDiv’).load(‘arquivo.html’);

Isto carrega o conteúdo do arquivo.html dentro de sua minhaDiv. Até aí sem novidades, mas como carregar de outro site ?

O load() não faz isto. Para fazer necessitaremos de uma ajuda do php.

Solução

Criamos um arquivo php por exemplo chamado captura.php e nele colocamos somente isto :

<?php echo file_get_contents($_GET['url']); ?>

Nosso jQuery terá que ser modificado, vou colocar uma váriável para ajudar :

var arquivo = $('#arquivo').val();
$('#minhaDiv').load('captura.php?url=' + arquivo);

Com estas duas linhas, necessitamos de um input no html com id arquivo e o jQuery pegará o valor do conteúdo desta variável e carregará este arquivo.

O html completo fica assim :

<span>Nome do arquivo</span><input type="text" id="arquivo">
<button id="carregar">Carrega o conteúdo HTML</button>
<div id="minhaDiv"></div>
<script>
$(document).ready(function(){
$('#carregar').click(function(){
var arquivo = $('#arquivo').val();
$('#minhaDiv').load('captura.php?url=' + arquivo);
});
});
</script>

Conclusão

Desta forma, o php carrega a página de outro site e colo ele está no seu site, o load() do jQuery carrega para sua página.

Obs 1 : Lembre-se de colocar o caminho completo do arquivo a carregar (http://www.site.com/pagina.html)

Obs 2 : Caso queira pegar uma parte do site, utilize o nome do arquivo com o complemento necessário.

  Métodos de strings em JavaScript

Para pegar um article coloque o article no final (http://www.site.com/pagina.html article)

Para pegar uma div, coloque a div no final (http://www.site.com/pagina.html #minhaDiv)

É simples, não ? jQuery vem me conquistando a cada dia. Escreva menos, faça mais realmente resume o que é jQuery.

Abraços e até a próxima.

jQuery, php, programacao

Apoio

Participe da campanha!

Cafézinho

Quer me pagar um café? Pode usar a chave PIX abaixo

Chave PIX e-mail

[email protected]

Vídeos

Assista e se inscreva em nosso canal!

NEWSLETTER

Cadastre-se gratuitamente e fique por dentro de todas as novidades do blog, como dicas e tutoriais.

Não enviamos spams, fique tranquilo

4 comentários em “jQuery : Como obter html de sites externos com php + jQuery”

  1. Bacana o código, mas engraçado se ele pega o html, parece que se o site for uma div carregada por ajax não consigo capturar.
    No site mercadobitco tentei pegar o preço e o preço aparece como zero, sabe o que pode ser? Sei que no site tem api para isso, mas queria testar dessa forma…

    Responder
    • Olá Ricardo, realmente ao carregar uma Div por um Ajax ele está chamando outro código (ou outro site ou outra query) e não funciona. Tem que ver no código para ver qual o código que carrega a div.

      Abraço

      Responder
  2. Obrigado por compartilhar seu conhecimento.
    Como faço se a parte da página que quero pegar, é carregada com jscript (após apertar um botão q executa uma função js)? tem como ?

    Responder

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.