Сайт блокирует доступ парсеру

284
13 ноября 2017, 21:55

Здравствуйте. Использую Simple HTML DOM Parser. При попытке парсинга страницы ловлю ошибку:

Warning: file_get_contents(http://www.bolshoyvopros.ru/questions/2725145-kak-pravilno-pisat-nachisleny-ili-nachislenny.html) [function.file-get-contents]: failed to open stream: HTTP request failed!

Я думаю решить проблему подменой юзер агента или ip.

Вопрос: Как отправить подмененные параметры этим парсером?

Answer 1
<?php 
require_once 'simple_html_dom.php';
ini_set('max_execution_time', 0);
$base = 'http://www.bolshoyvopros.ru/questions/2725145-kak-pravilno-pisat-nachisleny-ili-nachislenny.html';
$curl = curl_init();

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_URL, $base);
curl_setopt($curl, CURLOPT_REFERER, $base); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36");
$str = curl_exec($curl);
curl_close($curl);
$html_base = new simple_html_dom(); 
$html_base->load($str); 
print_r( $html_base->plaintext );
$html_base->clear(); 
unset($html_base);
?>

Если написать $html_base->outertext результат будет вот таким:

READ ALSO
Настройка цены woocommerce

Настройка цены woocommerce

Работаю с wordpress и woocommerce недавноСайт по продаже золотых изделий

251
Phpdoc для ассоциативных массивов

Phpdoc для ассоциативных массивов

Можно ли с помощью phpdoc задокументировать массив так, чтобы при разработке, IDE подставляла информацию (ключ массива) из документации phpdoc?

240
Поиск картинок строковыми функциями, php

Поиск картинок строковыми функциями, php

Здравствуйте, возникла задача выбрать картинки с помощью строковых функций (без preg_match без прочих библиотек, dom и прочего), перебрал кучу вариантов,...

199