Como copiar informações da Wikipedia

Essa dica é muito boa para pegar referências nativas automaticamente sem precisar ficar dando Ctrl+C, Ctrl+V.

Primeiro, vamos escolher um página da wikipedia para obtermos o conteúdo.

Por exemplo: Tropa de Elite 2

Vamos ver o código fonte da página a fim de encontrar algum padrão:

Hum… note que encontramos o seguinte. Todo artigo está envolvido nas tags de comentário <!– content –> e <!– /content –>

<!-- content -->
		<div id="content">
			<a id="top"></a> 

............CONTEUDO SUPRIMIDO ...........
	<!-- /bodyContent -->
		</div>
		<!-- /content -->
		<!-- header -->

Ótimo. Então vamos trabalhar em cima disso.

A dica para pegar o conteúdo ENTRE essas tags é usando expressões regulares.

Nós precisamos pegar: TAG DE ENTRADAS + CONTEÚDO + TAG DE SAÍDA.

Assim, podemos usar a própria tag literalmente e o operador qualquer coisa (.) repetido infinitas vezes.

Assim, teremos:

<!-- content -->.*<!-- /content -->

Para integrar no nosso sistema, vamos usar a função PHP chamada preg_match_all que vai casar a expressão regular com o conteúdo inserido. O conteúdo será provido pela variável $informação que  foi carregada com a string do código fonte da página. O código foi capturado com a função file_get_contents().

Veja como ficou o código

<?php
$informacao = file_get_contents('http://pt.wikipedia.org/wiki/Tropa_de_Elite_2:_O_Inimigo_agora_%C3%89_Outro');
preg_match_all('%<!-- content -->.*<!-- /content -->%s', $informacao, $resultado, PREG_PATTERN_ORDER);
$resultado = $resultado[0][0];

echo $resultado;
?>

Pronto, agora podemos usar o conteúdo da variável para salvar no banco de dados, ou fazer um carregamento em Ajax.

Use a imaginação.

Post feito com base na dúvida de MSS.

Se você gostou do post, não se esqueça de inscrever-se no feed RSS. Inscreva-se via RSS

2 Respostas to “Como copiar informações da Wikipedia”

  1. miltoncps Disse:

    Bob safadenhooooooooooo mandou mto bem!!!

  2. @rodrigobcaldas Disse:

    Muito irada a dica, Bob!
    =D

    Sensacional!

Deixe Comentário