Ir para conteúdo

POWERED BY:

Arquivado

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

OverRed

[Resolvido] Extrair parte de um html

Recommended Posts

1o gostaria de parabenizar o forum, a maioria de minhas dúvidas esclareço aqui

Obrigado por este serviço

 

2o, estou pedindo ajuda na seguinte questão:

Estou querendo extrair uma parte de uma página html, estou usando curl para obtenção de dados e estou tentando usar preg_match_all para extrair a parte do site que quero, porem não estou obtendo exito.

Site fonte: http://us.battle.net/wow/en/guild/gurubashi/horda/news

Estou querendo retirar a tabela "News"

 

meu cídigo hoje está assim:

Página de teste GuildFeed
<br><br><br>
<link rel="stylesheet" type="text/css" media="all" href="common.css?v15" />
<link rel="stylesheet" type="text/css" media="all" href="wow.css?v3" />
<link rel="stylesheet" type="text/css" media="all" href="profile.css?v3" />
<link rel="stylesheet" type="text/css" media="all" href="guild.css?v3" />
<link rel="stylesheet" type="text/css" media="all" href="news.css?v3" />

<?php
$ch = curl_init();
$timeout = 0;
curl_setopt($ch, CURLOPT_URL, 'http://us.battle.net/wow/en/guild/gurubashi/horda/news');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$url = curl_exec ($ch);
curl_close($ch);

//$linebreaks = array("\r", "\n");
//$url = str_replace($linebreaks, "", $url);

preg_match_all('#<div class="news-left">(\w.*)<a href="javascript:;" class="n#s', $url, $conteudo);

echo $conteudo;
echo "<br><br><br>Página Completa<br><br><br>";
echo $url;
?>

 

o resoltado é :

Página de teste GuildFeed

 

 

Array

 

 

Página Completa

 

já tentei várias combinações de ER no preg_match_all mas não obtive exito.

Podem me ajudar ? no que estou errando ?

 

Desde já agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grato,

foi a 1a coisa que tentei, mas as funções não estavam funcionando direito neste servidor, pelo o que vi "funcionam no plano mega..."

 

enfim, mesmo postando ajuda aqui, estava correndo em paralello para resolver. Consegui verificar os erros.

Segue código corrigido:

 

Página de teste GuildFeed
<br><br><br>
<link rel="stylesheet" type="text/css" media="all" href="common.css?v15" />
<link rel="stylesheet" type="text/css" media="all" href="wow.css?v3" />
<link rel="stylesheet" type="text/css" media="all" href="profile.css?v3" />
<link rel="stylesheet" type="text/css" media="all" href="guild.css?v3" />
<link rel="stylesheet" type="text/css" media="all" href="news.css?v3" />

<?php
$ch = curl_init();
$timeout = 0;
curl_setopt($ch, CURLOPT_URL, 'http://us.battle.net/wow/en/guild/gurubashi/horda/news');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$url = curl_exec ($ch);
curl_close($ch);

//$linebreaks = array("\r", "\n");
//$url = str_replace($linebreaks, "", $url);

preg_match_all('#<div class=\"news-left\">(.+)<a href=\"javascript:;\" class=\"n#s', $url, $conteudo);

echo $conteudo[0][0];

//echo "<br><br><br>Página Completa<br><br><br>";
//echo $url;
?>

 

o código ER estava incompleto, faltava \ na frente dos "

e, consequentemente, alterei o echo, colocando [0][0], para a correta exibição da página

 

enfim, grato pela ajuda.

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.