Вы не зашли.
Имеется страница:
http://wap4u.ru/bash/index.php?url=&fon=FFFFFF&txt=76625B&stxt=9E8379&page=1
В конце ссылки, &page=1(тут работает навигация)
На каждую страницу, выводится по 6 цитат.
Задача: Мне нужно спарсить 3000 страниц, тоесть от &page=1 до &page=3000
Как мне это реализовать?
Я систему понимаю, нам нужно в цикл for() передавать начальное значение, и конечное.
И потом в самом цикле увеличивать.
Код:
$ot=1; //страница от которой парсим |
$do=3000; //страница до которой парсим |
$dir='dir'; //папка куда сохраняем |
//////////////////// |
for($bn=$ot;$bn<$do;$bn++) |
{ |
$site = http://wap4u.ru/bash/index.php?url=&fon=FFFFFF&txt=76625B&stxt=9E8379&page=$bn; |
а вот тут что делать, не знаю |
} |
P.S.При копировнии, нужно вырезать рекламу и прочие div-классы
Для каждой цитаты, отдельный файл
Код:
$f = file_get_contents('http://wap4u.ru/bash/index.php?url=&fon=FFFFFF&txt=76625B&stxt=9E8379&page=1'); |
$expl = explode('<div class="text">', $f); |
$f = explode('<br/> <br/>Стр.:', $expl[1]); |
echo trim(str_replace(array(' ', '"'), array(' ', '"'), $f[0])); |
фаерволл доступ в интернет закрыл?
<?php
set_time_limit(0);
//////настройки//////
$ot=1; //ID темы от которой парсим
$do=5; //ID темы до которой парсим
$site='http://wap4u.ru/bash/index.php?url=&fon=FFFFFF&txt=76625B&stxt=9E8379&page='; //адрес форума
$dir='txt'; //папка куда сохраняем темы
////////////////////
for($bn=$ot;$bn<$do;$bn++){
$f = file_get_contents(''.$site.''.$bn.'');
$expl = explode('<div class="text">', $f);
$f = explode('<br/> <br/>Стр.:', $expl[1]);
$text = trim(str_replace(array(' ', '"'), array(' ', '"'), $f[0]));
$ff=fopen("$dir/page_$bn.txt","w");
fwrite($ff,$text);
fclose;
}
?>
Работает.
Ещё вопрос, нужно удалить дату.
Как это сделать?
Ведь на каждой странице она разная
Отредактировано Istsam (2011.02.22 17:05)
нет, Denver у меня.
Alkatraz Mod
Добавлено спустя 4 минуты 55 секунд: PHP Version 5.3.1
Работай с DOM моделью
Вот тут хорошая библиотека http://simplehtmldom.sourceforge.net
Отредактировано DarkDaNTe (2011.02.22 18:06)
а тут еще лучше:
http://php.net/domДобавлено спустя 1 минуту 12 секунд: Istsam написал:
PHP Version 5.3.1
тогда убери этот бред
Код:
$ff=fopen("$dir/page_$bn.txt","w"); |
fwrite($ff,$text); |
|
|
fclose; |
и пользуйся file_put_contents
Gemorroj, да дело не в этом.
Вот ещё, как сделать, что бы вырезалась дата?
она имеет различный вид
в этом, код ужасен. для меня это важно.
Код:
$str = '<b>22.02.11 09:44</b> sdg d<b>22.02.11 09:44</b> вап<b>22.02.11 09:44</b> эж'; |
echo preg_replace('/<b>(?:.*)<\/b> /U', '', $str); |
олололо.
Код:
preg_match_all('#<b>([0-9]{2})\.([0-9]{2})\.([0-9]{2}) ([0-9]{2})\:([0-9]{2})</b> <br/>(.*)<br/> <br/>#Uis',$file,$data); |
Добавлено спустя 3 минуты : ^^рабочик код, вырезки рекламы
городишь херню..) делай проще