Я пытаюсь узнать, как создать сканер группы facebook, который получает информацию из группы (список сообщений из группы с информацией о том, кто написал сообщение, идентификатор публикации, дату публикации и т. Д.).
Для меня важно заявить, что я в начале своего исследования сканирования страниц!
Нашел хороший урок с этой страницы:
http://www.oooff.com/php-scripts/basic-curl-scraping-php/basic-scraping-with-curl.php
При запуске этого кода:
<?php
$url = "http://www.oooff.com/";
$ch = curl_init($url); // initialize the CURL library in my PHP script so we can later work on it - inside the handler.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt() function is used to set options on the $ch handler.// in this case we use the CURLOPT_RETURNTRANSFER option
$curl_scraped_page = curl_exec($ch); // "run all the stuff we've set" - return the data scraped to the variable $curl_scraped_page
curl_close($ch);echo $curl_scraped_page;
?>
Это работает, но иногда, когда я запускаю его, я получаю пустую страницу.
когда я запускаю его на фейсбуке (или, точнее, в группе FB, потому что это то, что мне нужно), я получаю пустую страницу. Я попытался запустить его на yahoo.com, и я получил тот же результат.
Если вас в основном интересует контент Facebook, вы можете использовать API-интерфейс facebook для php:
https://developers.facebook.com/docs/reference/php/
CURL загружает только содержимое файла, но не запускает JavaScript веб-страницы.
В соответствии с Вивин Палиат ответ PhantomJs может быть хорошим решением для получения контента с веб-страницы JavaScript:
[…] PhantomJS — безголовый браузер WebKit. У него есть собственный API, который позволяет вам «скриптовать» поведение. Таким образом, вы можете сказать PhantomJS загрузить страницу и выгрузить нужные вам данные.
Других решений пока нет …