Всем привет!
Я пытаюсь сделать автоматический парсер для группы сайтов, для этого использую phatomJs-PHP.
При попытки скачать данные из iframe-ов этих двух сайтов http://www.highlandgold.com/home/investors/regulatory-news/ и https://investors.inmarsat.com/regulatory-news/ с первым всё работает, а у второго все div элементы качаются без текста. Это при том, что оба сайта грузят данные для этих фреймов из одного источника.
Качаю так:
$client = Client::getInstance();
$path = 'vendor\phantomjs\bin\phantomjs.exe';
$client->getEngine()->setPath($path);
$client->isLazy();
$client->getEngine()->addOption('--load-images=false');
$client->getEngine()->addOption('--ignore-ssl-errors=true');
$request = $client->getMessageFactory()->createRequest($startUrl, 'GET');
$request->setTimeout(5000);
$response = $client->getMessageFactory()->createResponse();
$client->send($request, $response);
if($response->getStatus() === 200) {
$cont = $response->getContent();
file_put_contents($name.'.xml', $startUrl.$cont);
$html = str_get_html($cont);
return $html;
} else{
echo '<br> ERROR JONNY: '.$response->getStatus();
}
Ошибок никаких не выводит, просто там где должен быть текст (таблица с ссылками и датами) - пусто. Пожалуйста объясните где я облажался.
Попробуйте вот так (обратите внимание, я убрал isLazy
и добавил setDelay
):
<?php
require __DIR__ . '/vendor/autoload.php';
use JonnyW\PhantomJs\Client;
$startUrl = 'https://tools.eurolandir.com/tools/pressreleases/?companycode=uk-deb&lang=en-gb';
$client = Client::getInstance();
$path = __DIR__ . '/vendor/bin/phantomjs';
$client->getEngine()->setPath($path);
$client->getEngine()->addOption('--load-images=false');
$client->getEngine()->addOption('--ignore-ssl-errors=true');
$request = $client->getMessageFactory()->createRequest($startUrl, 'GET');
$request->setDelay(5);
$response = $client->getMessageFactory()->createResponse();
$client->send($request, $response);
if($response->getStatus() === 200) {
echo $response->getContent();
} else{
echo '<br> ERROR JONNY: '.$response->getStatus();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно получить из https://examplecom/same/erere/ вот это https://example
есть массив данных полученных по Rest API Пытаюсь из этих данных сделать меню, но для этого нужно его преобразовать с учетом вложенности (думаю...