Я пытаюсь очистить данные с некоторых веб-сайтов. Для нескольких сайтов все кажется прекрасным, но для одного веб-сайта он, похоже, не может получить какой-либо HTML-код. Это мой код:
<?php include_once('simple_html_dom.php'); $html = file_get_html('https://www.magiccardmarket.eu/?mainPage=showSearchResult&searchFor=' . $_POST['data']); echo $html; ?>
Я использую ajax для извлечения данных. Когда я регистрирую возвращаемое значение в моем js, он полностью пуст.
Может ли это быть связано с тем, что этот сайт работает на https? И если да, есть ли способ обойти это? (Я пробовал изменить URL-адрес на http, но я получаю тот же результат)
Обновить:
Если я var_dump переменную $ html, я получаю bool (false).
В моем журнале ошибок PHP сказано следующее:
[27-Feb-2014 22:20:50 Europe / Amsterdam] PHP Warning: file_get_contents ( http://www.magiccardmarket.eu/?mainPage=showSearchResult&searchFor=tarmogoyf ): не удалось открыть поток: HTTP-запрос не удался! HTTP / 1.0 403 Запрещено в /Users/leondewit/PhpstormProjects/Magic/stores/simple_html_dom.php в строке 75
Это ваш пользовательский агент, file_get_contents не отправляет по умолчанию, поэтому:
$url = 'http://www.magiccardmarket.eu/?mainPage=showSearchResult&searchFor=tarmogoyf'; $context = stream_context_create(array('http' => array('header' => 'User-Agent: Mozilla compatible'))); $response = file_get_contents($url, false, $context); $html = str_get_html($response); echo $html;