Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php curl并没有抓住Facebook的所有源代码_Php_Html_Facebook_Curl - Fatal编程技术网

Php curl并没有抓住Facebook的所有源代码

Php curl并没有抓住Facebook的所有源代码,php,html,facebook,curl,Php,Html,Facebook,Curl,我有一个简单的php curl代码,可以从facebook页面获取html源代码,但它并不适用于所有这些页面 <?php $ch = curl_init("https://www.facebook.com/viktor.milosevic.311?fref=ts"); curl_setopt( $ch, CURLOPT_POST, false ); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt($ch, CURL

我有一个简单的php curl代码,可以从facebook页面获取html源代码,但它并不适用于所有这些页面

<?php
$ch = curl_init("https://www.facebook.com/viktor.milosevic.311?fref=ts");
curl_setopt( $ch, CURLOPT_POST, false );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0 en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
curl_setopt( $ch, CURLOPT_HEADER, false );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$data = curl_exec( $ch );
echo $data;
?>

上面的代码将显示示例中链接的源代码,但对于某些链接,我没有获得源代码,例如链接:

我得到的不是页面源代码,而是

您访问的链接可能已过期,或者该页面可能仅对您不在的观众可见


有没有办法解决这个问题?

Facebook不允许在没有他们书面许可的情况下进行抓取。最有可能的解释是指定的配置文件不是公共的。修复方法是接受人们希望他们的隐私受到尊重。如果你可以手动操作,它会显示源代码,这意味着你可以使用curl来完成,而且它可以工作,但是有些页面有什么特别之处呢?另外,示例中的一个不是公开的,所以这不是问题所在,Facebook不允许在没有他们书面许可的情况下进行刮削。最有可能的解释是指定的配置文件不是公共的。修复方法是接受人们希望他们的隐私受到尊重。如果你可以手动操作,它会显示源代码,这意味着你可以使用curl来完成,而且它可以工作,但是有些页面有什么特别之处呢?另外,示例中的一个不是公共的,因此这不是问题所在