1

我必须把这个页面:http://www.tvindiretta.com/m/放在 iframe 中。此页面由 cURL 驱动。他是它的内容。当我尝试将此网址:http://www.tvindiretta.com/m/index.php放入 iframe(带标签)时,浏览器将重定向到 iframe 网址。如何将此页面保留在 iframe 中。我必须更改用户用户代理。我是 cURL 中的一个完整的菜鸟,但请帮助我。他是/m/index.php页面源代码:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.tvindiretta.com/");
curl_setopt($ch, CURLOPT_MAXREDIRS, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11 Safari/525.20'));

curl_exec($ch);
$result = curl_exec ($ch);
curl_close ($ch);

print $result;
curl_close($ch);
?> $
4

1 回答 1

0

我认为此网页上没有用户代理重定向,因为

<?php
if (isset($_GET['get'])){

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.tvindiretta.com/m");
    curl_setopt($ch,  CURLOPT_RETURNTRANSFER, TRUE);
    curl_exec($ch);
    $result = curl_exec ($ch);
    curl_close ($ch);
    print $result;

}
else{
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<iframe src="test.php?get" style="position:absolute; top:100px; left:100px; width:400px; height:400px;"/>
</body>
</html>
<?php } ?>

似乎搞砸了页面,但无论如何都要为我提供移动内容。

所以我想这里真正的问题是该页面内的javascript代码:

在 html5 中,您有一个新的iframe 属性“沙盒”,它允许您限制 iframe 的内容行为。不幸的是,这似乎只有 Chrome 和 Safari 支持。

这里的一个想法可能是尝试抓取网页的内容(例如使用 PHP 中的DomDocument),只保留您感兴趣的内容,并尝试重现它们的风格。说起来容易做起来难,但我看不到更干净的方法。

由于您似乎有兴趣获得电视节目,因此您可以检查专用的 xml scaper XMLtv

于 2012-11-25T12:02:32.553 回答