Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hewitt

Pegando conteúdo do Globo.com - file_get_content

Recommended Posts

Galra, boa madrugada; Estou com o seguinte código:

<?

//URL DO SITE A SER CAPTURADO
$url = 'http://www.globo.com/';
 
//PEGAR TODO CÓDIGO HTML PARA UMA VARIAVEL STRING
$site = file_get_contents($url);
 
//PEGAR COTAÇÃO ... PEGUEI O INICIO NA PRIMEIRA LINHA E O FIM DO CAMPO, ENTRE ELES FICA O VALOR QUE EU QUERO
$cotacao1 = explode('<span class="dolar">', $site);
$cotacao2 = explode('</span>', $cotacao1[1]);

$cotacao = $cotacao2[0];
 
var_dump ($cotacao);
?>

A string aparece zerada!! Estou fazendo algo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Fiz o seguinte, mas só retorna NULL! =/

<?
libxml_use_internal_errors(true);
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.globo.com/");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
$output = curl_exec($ch);// acessar URL
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);// Pegar o código de resposta

if ($response_code == '404') {
	echo 'Página não existente';
} else {
	//echo $output;
	
	$doc = new DOMDocument();
	$doc->formatOutput = true;
	$doc->loadHTML($output);
	
	$xpath = new DOMXpath($doc);
	$elemento = $xpath->query( "//span[@id='dolar']" )->item( 0 )->nodeValue;
	
	var_dump ($elemento);
	
}//end else
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei uma lida no manual, e com o link anterior estava com um erro bobo, mas resolvi facilitar primeiro.

<?
libxml_use_internal_errors(true);
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.dolarhoje.com/");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
$output = curl_exec($ch);// acessar URL
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);// Pegar o código de resposta

if ($response_code == '404') {
	echo 'Página não existente';
} else {
	//echo $output;
	
	$doc = new DOMDocument();
	$doc->formatOutput = true;
	$doc->loadHTML($output);
	
	
	$xpath = new DOMXpath($doc);
	$elemento = $xpath->query( "//input[@id='nacional']" )->item( 0 )->nodeValue;
	
	var_dump ($elemento);
	
}//end else
?>

Ele retorna com "string (0)"..

O caminho está certinho. Alguém pode me dar uma luz??

Compartilhar este post


Link para o post
Compartilhar em outros sites
<input type="text" id="nacional" value="3,56"/></span>

O valor do real está no atributo value, neste caso:

$elemento = $xpath->query("//input[@id='nacional']")->item(0)->getAttribute('value');

Compartilhar este post


Link para o post
Compartilhar em outros sites
<input type="text" id="nacional" value="3,56"/></span>

O valor do real está no atributo value, neste caso:

$elemento = $xpath->query("//input[@id='nacional']")->item(0)->getAttribute('value');

Hummm, agooora entendi! Muito obrigado Landerson!

 

Para quem quiser, ficou assim:

 

PEGAR COTAÇÃO DÓLAR - (www.dolarhoje.com)

<?
libxml_use_internal_errors(true);
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.dolarhoje.com/");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
$output = curl_exec($ch);// acessar URL
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);// Pegar o código de resposta

if ($response_code == '404') {
	echo 'Página não existente';
} else {
	//echo $output;
	
	$doc = new DOMDocument();
	$doc->formatOutput = true;
	$doc->loadHTML($output);
	
	
	$xpath = new DOMXpath($doc);
	$elemento = $xpath->query( "//input[@id='nacional']" )->item( 0 )->getAttribute('value');;
	
	echo $elemento;
	
}//end else
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.