2016-12-14 10 views
0

私はタイトル、外部のページのリンク元からの説明を取得しようとしています。 Facebookのページソースを取得しようとしているときに、別のページのソースコードを返すときにこれは動作しません。外部のページリンクから "タイトル"と "説明"を取得

$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    return $data; 
} 

public function previewLink(){ 
    $url = "https://www.facebook.com/NASA/"; 
    $html = $this->file_get_contents_curl($url); 
    $title = ""; 
    $description =""; 
    $image = ""; 

    //parsing begins here: 
    $doc = new \DOMDocument(); 
    @$doc->loadHTML($html); 
    $nodes = $doc->getElementsByTagName('title'); 
    $title = $nodes->item(0)->nodeValue(); 
    } 

私が直面しています、問題が何であるかを取得していないです:それは、PHPで私のコードであるここでGoogleのような他のウェブサイトなどに取り組んでいます。誰かが何か提案することはできますか前もって感謝します。

答えて

1

FacebookはhttpリクエストでUserAgent文字列を要求しています。あなたはこの

FYI
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12')); 

を使用していることを追加することができます:Facebookは誰でも、ログインせずにページになるとキャプチャのページを表示するために使用しています。

+0

ありがとうございました。それは今働いている。 – Ishan

関連する問題