Цикл в парсере - помогите!
1.
Сааааа-нёёёёё-к (12.09.2010 / 15:27)
Учусь потихоньку парсить всякое.
Вот возникла проблема с циклами...
Надо как бы организовать переход по страницам и вырезки нужной нам инфы.
Вот, я тут нацарапал:
<?php
$id = 1; # ID нужной категории
$all = 20; #Страниц на ней
for($i=0; $i<$all; $i++){
// Навигация странная
$p = $p+20;
$f = file_get_contents('http://phpme.ru/status/cat.php?id='.$id.'&page='.$p.'');
echo 'Страница: <b>'.$i.'</b><br/>';
for($i=0; $i<20; $i++){
preg_match_all('|<div class="main">(.*)</div>|siU', $f, $do);
if(!empty($do[1][$i])) echo $num++.' | '.$do[1][$i].'<hr/>';
}}
?>
Где я ошибся? Почему цыкл не идет, а парсит только первую страницу?
2.
KOZZ (12.09.2010 / 15:37)
спроси у пирата, он знает наверное ))) и поможет
3.
Сааааа-нёёёёё-к (12.09.2010 / 15:38)
Ну да, конешно.Гг
4.
Сааааа-нёёёёё-к (12.09.2010 / 15:51)
Конечно $p = $p+20; можно было заменить и на $p+=20;, просто так понятней.
5.
ramzes (12.09.2010 / 15:59)
$f.= начни с этого
6.
Сааааа-нёёёёё-к (12.09.2010 / 16:05)
5.
ramzes, что начать? Непонял тебя
7.
ramzes (12.09.2010 / 16:18)
$f = false;
for($s=0; $s<20; $s ){
$f.=file_get_contents('url'.$s);
}
собрать все в одну переменную, потом уже парсить.
циклы в цикле это не гуд.
8.
Сааааа-нёёёёё-к (12.09.2010 / 16:28)
Щас попробую поковырять и отпешусь...
9.
Сааааа-нёёёёё-к (12.09.2010 / 17:23)
Спасибо рамзес за помощь
только там походу $s++ должно быть
10.
Nu3oN (12.09.2010 / 18:42)
delete
11.
Nu3oN (12.09.2010 / 18:44)
Тут получается цикл в цикле!
В первом и втором циклах одинаковая переменная $i
И получается что первый цикл сделал оборот, второй перезаписал в переменной значение, и закончил цикл!
12.
ramzes (12.09.2010 / 19:34)
StingerIce (12 Сентября 2010 / 17:23)
Спасибо рамзес за помощь
только там походу $s++ должно быть
усвеб имеет тупую привычку жрать плюсы при отправке. да, там два плюса было
13.
Сааааа-нёёёёё-к (12.09.2010 / 20:00)
11.
Nu3oN, я это понял когда ты еще в аське написал разные переменные в циклах!
На ошибках учаться, иначе никак.
URL:
https://visavi.net/topics/13610