Я использую PHP, чтобы попытаться очистить страницу, которая, по-видимому, динамически загружает контент всего через миллисекунды после завершения загрузки родительской страницы.
Я использую curl для анализа страницы и simpleHtmlDom для извлечения элементов изparsed html.
Мои попытки пройти DOM и взорвать () вещи из html ничего не возвращают.Мои единственные идеи заключались в том, что он загружал контент после родительской страницы.
Вот мой код.
<?
$url = 'http://www.facebook.com/OneAndroidAppaDay';
$scrapeUrl = 'http://www.facebook.com/OneAndroidAppaDay';
include_once('simple_html_dom.php');
require_once("bitly.php");
$userAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_URL,$scrapeUrl);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$html = curl_exec($ch);
if (!$html) {
echo "<br />cURL error number:" .curl_errno($ch);
echo "<br />cURL error:" . curl_error($ch);
exit;
}
$appBitlyUrl = $html->find('div[class=UIStoryAttachment_Title]',0)->find('a',0)->href; // fail :(
echo 'Bitly Url: ' . $appBitlyUrl;
?>
Это бомбардировка в строке 24 (Обозначается встроенным комментарием) с этой ошибкой:
Неустранимая ошибка: вызов функции-члена find () для необъекта в /home/xxxxxxxx/public_html/xxx.xx/xxxx.phpв строке 24
Есть ли способ заставить его подождать секунду или две, прежде чем он захватит HTML-страницу?Или, может быть, у кого-то есть лучшее понимание?
Спасибо
Марк