[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсить несколько страниц
EenzamE
Всем привет.
Пишу парсер id питомцев у пользователя в одном чате.
На 1 страницу выводится 10 питомцев. Если есть больше питомцев, то внизу постраничная навигация. Но как мне сделать так чтобы если есть более 1 страницы, чтобы загружало следующую и парсил id оттуда, и так пока не кончатся страницы.

Парсю так:
<?php
$url = file_get_contents('http://galaxy.mobstudio.ru/services/index.php?userID=17633034&password=pe8o0px8&usercur=7663490&a=pets_menu&&kbv=111&lngg=ru&dbl=4');
preg_match_all('/&petid=([0-9]+)&">/', $url, $arr);
foreach ($arr[1] as $petid) {
echo ''.$petid.'<br />';
}
?>

Помогите пожалуйста.



Спустя 29 минут, 13 секунд (15.04.2012 - 17:02) alexbel2404 написал(а):
пароль с урла убери)

Спустя 4 часа, 9 минут, 58 секунд (15.04.2012 - 21:12) walerus написал(а):
Подставляешь в ссылку номер страницы параметр - "current_page=6"

<?php

$parse = true;
$page = 0; // стартовая страница

while( $parse )
{
$prepare_url = 'http://galaxy.mobstudio.ru/services/index.php?' .
'userID=17633034&password=pe8o0px8&usercur=7663490' .
'&a=pets_menu&&kbv=111&lngg=ru&dbl=4&current_page=' . $page;

$content = file_get_contents( $prepare_url );

// Проверяем есть ли питомцы на странице
if ( strpos( $content, "Нет питомцев.") == false )
{
echo "Page - " . $page . "<hr>\n"; flush();

preg_match_all('/&petid=([0-9]+)&">/', $content, $arr);
foreach ($arr[1] as $petid)
{
echo $petid . "<br />\n"; flush();
}

$page++;
echo "<br>\n";
}
else
$parse = false;
}

?>
<hr>
DONE.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.