Языки сайта и парсинг страницы

kvins
На сайте с 23.08.2011
Offline
95
322

Нужно спарсить кусочек с городами тут http://dpd.ru/dpd/otpravka/varianty-otpravki/blizhajshij-ofisterminal.do2

Пробовал спарсить часть страницы сайта через file_get_contents



$url = 'http://dpd.ru/dpd/otpravka/varianty-otpravki/blizhajshij-ofisterminal.do2';
$start = '<div id="main">';
$finish = '</div>';
function parser($url,$start,$finish) {
$content = file_get_contents($url);
$position1 = strpos($content, $start);
$position2 = strpos($content, $finish);
$content = substr($content, $position1, $position2-$position1);
$content = strip_tags($content, '<p><a>');
//echo nl2br($content);
// echo ($content);
return $content;
}

$tt = parser($url, $start, $finish);

Но что то я не смог правильно настроить его и потом решил что лучше через PHP Simple HTML DOM Parser


$html = file_get_html('http://dpd.ru/dpd/otpravka/varianty-otpravki/blizhajshij-ofisterminal.do2');

// Find all SPAN tags that have a class of "myClass"
foreach($html->find('ul.arrow') as $e)
echo $e->outertext . '<br>';

и в любом из услучаев выдает мне английскую версию, хотя заходя на сайт , показывает русскую, на сайте 2 языка и язык переключается через js , отдельные страницы я не заметил

Магазин уникальных статей. (http://linkum.ru/to/13254/)
J
На сайте с 20.02.2014
Offline
120
jkm
#1

Там просто проверка заголовка Accept-language на наличие ru.

kvins
На сайте с 23.08.2011
Offline
95
#2

А как его установить или обязательно нужно использовать curl , просто если через него то там сложней будет вытащить этот список городов.

Просто с регулярками я плохо дружу

J
На сайте с 20.02.2014
Offline
120
jkm
#3

Вам нужно немного изменить вызов file_get_contents :


// Создаем поток
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: ru\r\n"
)
);

$context = stream_context_create($opts);
$content = file_get_contents($url, false, $context);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий