My code:
#####################################################################
acessaPaginaClassificadosOGLOBO('http://www.zap.com.br/imoveis/rio-de-janeiro/venda/centro/apartamento/rio-de-janeiro-venda-centro-apartamento.html');
function acessaPaginaClassificadosOGLOBO($pagina_alvo){
#
Acesando a página Alvo
#
$sessao_curl = curl_init($pagina_alvo);
//
curl_setopt($sessao_curl, CURLOPT_HEADER, 1);
curl_setopt($sessao_curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($sessao_curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($sessao_curl, CURLOPT_RETURNTRANSFER, 1);
$subject = curl_exec($sessao_curl);
curl_close($sessao_curl);
#acessaPaginaAlvoIndividualClassificadosOGLOBO($subject);
#/*
#
# Capturando variáveis para o POST de mudança de páginas
#
# cálculo de páginas
//Busca do Número Total de Resultados
$match = '/(?<=encontrados )\d*(?= resultados)/';
preg_match_all($match, $subject, $result, PREG_PATTERN_ORDER);
$num_resultado = $result[0][0];
//Cada página possui 30 resultados, logo total de páginas = resultados / 30
//função ceil() arredonda frações para cima
$num_total_paginas = ceil(($num_resultado / 30));
################################################################################
Acessa cada página da busca resultado
################################################################################
if ($num_total_paginas){
for ($i=1; $i <= $num_total_paginas; $i++){
# montando post para cada página
//Busca do post action padrao
$match = '%(?<=<form name="aspnetForm" method="post" action="/imoveis/resultado-busca-imoveis\.aspx\?).*(?=" )%';
preg_match_all($match, $subject, $result, PREG_PATTERN_ORDER);
$postfields = $result[0][0];
$EVENTTARGET = 'ctl00$ContentPlaceHolder1$grdResultadoBusca';
//$EVENTTARGET = urlencode($EVENTTARGET);
$postfields .= "&__EVENTTARGET=$EVENTTARGET";
$EVENTARGUMENT = "Page$$i";
//$EVENTARGUMENT = urlencode($EVENTARGUMENT);
$postfields .= "&__EVENTARGUMENT=$EVENTARGUMENT";
//$postfields .= "&__LASTFOCUS=";
//Encontra o &__VIEWSTATE=
$match = '/(?<=<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value=").*(?=")/';
preg_match_all($match, $subject, $result, PREG_PATTERN_ORDER);
$VIEWSTATE1 = $result[0][0];
$postfields .= "&__VIEWSTATE=$VIEWSTATE";
#echo $postfields . "<br/>";
$postfields = urlencode($postfields);
echo $postfields . "<br/>";
/*
$url_pagina_alvo_individual = "http://www.zap.com.br/imoveis/resultado-busca-imoveis.aspx";
$reffer = 'http://www.zap.com.br/imoveis/resultado-busca-imoveis.aspx?IDTransacao=3&Transacao=Comprar+um+im%u00f3vel&IDUF=19&UF=RIO+DE+JANEIRO&IDLocalidade=63118&Localidade=RIO+DE+JANEIRO&IDTipo=1&Tipo=Apartamento&ZonaGrupo=9&IDDistrito=0&Distrito=Todos&TipoBusca=Simples';
// INIT CURL
$ch = curl_init();
//curl_setopt($ch, CURLOPT_HEADER, 1);
//curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
// SET URL FOR THE POST
curl_setopt($ch, CURLOPT_URL, $url_pagina_alvo_individual);
// ENABLE HTTP POST
curl_setopt($ch, CURLOPT_POST, 1);
# Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL
# not to print out the results of its query.
# Instead, it will return the results as a string return value
# from curl_exec() instead of the usual true/false.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $reffer);
// SET POST PARAMETERS : FORM VALUES FOR EACH FIELD
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
// EXECUTE 1st REQUEST (FORM LOGIN)
if (curl_errno($ch)) {
echo "Erro CURL: " . curl_error($ch);
}
$pagina_alvo_individual = curl_exec($ch);
curl_close($ch);
echo $pagina_alvo_individual;
#acessaPaginaAlvoClassificadosOGLOBO($pagina_alvo_individual);
*/
} #fim fo for
} #fim do if
###########################
Thank's for help