09-24-2012, 04:51 PM
Hullo,
this weekend the parsing of a web page stopped working perhaps due to a restyling of the site. The page is:
http://muovi.roma.it/paline/palina/77113?nav=4
and I m trying to parse it with the following function:
Yet, when I execute it, instead of going to the url page it goes to the home. What is quite peculiar is that, if I remove the latter curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true), I have an empty output like the page had a refresh setting that does not manifest itself when connecting by a browser but it does if trying to parse it! I am totally puzzled and unfortunately that piece of code is at the core of an iOS app I have on production and so I am also quite in a hurry.
Could someone please help,
Thanks,
Fabrizio Bartolomucci
this weekend the parsing of a web page stopped working perhaps due to a restyling of the site. The page is:
http://muovi.roma.it/paline/palina/77113?nav=4
and I m trying to parse it with the following function:
PHP Code:
function atac_get_html($url, $language){
$url='http://muovi.roma.it/paline/palina/77113?nav=4'; //manual forcing
set_include_path("/iPhone/simplehtmldom_1_5");
require_once('simple_html_dom.php');
require_once('atacurl.php');
// Create DOM from URL or file
//$atacurl=atacurl();
//$languageUrl=$atacurl."/lingua/set/".$language;
$languageUrl=http://muovi.roma.it/lingua/set/en";
if (!isset($_SESSION['ckfile'])) {
echo "language".$languageUrl;
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
$_SESSION['ckfile']=$ckfile;
/* STEP 2. visit the homepage to set the cookie properly */
$ch = curl_init ($languageUrl);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$output = curl_exec ($ch);
//echo "outputInit=".$output."
";
}
$ckfile=$_SESSION['ckfile'];
/* STEP 3. visit cookiepage.php */
$ch = curl_init ($url);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$output = curl_exec ($ch);
curl_close( $ch );
echo $url;
echo "output=".$output;
return str_get_html($output);
}
Could someone please help,
Thanks,
Fabrizio Bartolomucci