電話、電子メール、ウェブサイトなどのFacebookの公開ページから連絡先情報をスクレイピングしたい.
スクレイピングに SIMPLE_HTML_DOM パーサーを使用しています。
問題は、関数を使用しているときにecho $html = file_get_html($url);
何も表示されないことです。
また、たとえばcurlを使用するecho $html=str_get_html($myUrl);
と、ページの上部にいくつかのhttpパス情報テキストがあるhtmlが表示されますが、このページのソースを見ると<h4>contact info</h4>
、いくつかのhtmlコメント付きコードを持つjsonコードが含まれています。
ここで、div を含む<h4>
その他の情報をターゲットにすると、$Contact_info = $html->find('div #pagelet_contact_info')->plaintext;
何も返されず、通知が表示されます。
注意: D:\xampp\htdocs\scopon_deals\test.php の 18 行目で非オブジェクトのプロパティを取得しようとしています
私が呼び出したhtmlが返した特定のdivが見つからないため、ページ内のすべてのタグやhrefなどに対しても試しましたが、見つかりません。....
私のコードは次のとおりです!
include('connect.php'); include('simple_html_dom.php');
$url = "http://www.facebook.com/ScooponTravel/info";
$myUrl =curl_grab($url,"https://www.google.com", "", "false", "null", "false");
echo $html=str_get_html($myUrl);
//echo $html = file_get_html($url);
if(is_object($html)){
echo "helloooo";echo '<br>';
$Contact_info = $html->find('div #pagelet_contact_info')->plaintext;
//print_r($deal_title);
echo "Yesss";
}
////// curl function
function curl_grab($url,$ref_url,$data,$login,$proxy,$proxystatus){
if($login == 'true') {
if($fp = fopen("cookie.txt", "w")){
fclose($fp);
}else{echo "+++++++++++++++++++++++++++++++++++++++++";}
}
// global $charam;
$charam = curl_init();
//curl_setopt($charam, CURLOPT_COOKIEFILE, dirname(__FILE__) . "/cookie.txt");
//curl_setopt($charam, CURLOPT_COOKIEJAR, "cookie.txt");
//curl_setopt($charam, CURLOPT_COOKIEFILE, "cookie.txt");
//curl_setopt($charam, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
//curl_setopt($charam, CURLOPT_TIMEOUT, 440);
curl_setopt($charam, CURLOPT_RETURNTRANSFER, TRUE);
if ($proxystatus == 'true') {
curl_setopt($charam, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($charam, CURLOPT_PROXY, $proxy);
}
curl_setopt($charam, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($charam, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($charam, CURLOPT_URL, $url);
curl_setopt($charam, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($charam, CURLOPT_REFERER, $ref_url);
curl_setopt($charam, CURLOPT_HEADER, TRUE);
curl_setopt($charam, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($charam, CURLOPT_FOLLOWLOCATION, TRUE);
// curl_setopt($charam, CURLOPT_POST, TRUE);
// curl_setopt($charam, CURLOPT_POSTFIELDS, $data);
//ob_start();
$curl_result = curl_exec ($charam);
//curl_close ($charam);
return $curl_result;
//ob_end_clean();
//curl_close ($charam);
//unset($charam);
}