Парсин страниц с нужным текстом

Статус
В этой теме нельзя размещать новые ответы.

anfriska

Профессор
Регистрация
3 Окт 2013
Сообщения
113
Реакции
43
Здравствуйте!
Принцип такой:
PHP:
$uid = 1;  // айди страницы
$text = мой текст; // текст который ищем на странице

//получаем содержимое страницы
$contents = file_get_contehts('http://site/user'.$uid.');

Если $text найден на странице, то запишем в site.txt адрес страницы. Иначе, переходим к следующей странице.

Да, php еще не начала изучать,
$uid = 1; - число увеличивается на + 1
Как это прописать, я тоже не знаю.

Подскажите как правильно написать код скрипта?
 
Последнее редактирование модератором:
Уверен что этот код будет верным решением?
PHP:
<?php

set_time_limit(0);
ini_set('max_execution_time',0);

$uid=1;
$limit=100500;
$text='#мой текст#';

while(1=1) {
  $buf=file_get_contents('http://site.ru/user'.$uid);
  if(!preg_match_all($text,$buf,$matchs))
  {
    $uid++;
    continue;
  }
  $fp=fopen('./user'.$uid.'.html','w+');
  fputs($fp,$buf);
  fclose($fp);
  $uid++;
  if($uid>$limit) break;
}

?>
 
Parse error: syntax error, unexpected '=' in ...../club.php on line 10

Код:
<?php

set_time_limit(0);
ini_set('max_execution_time',0);

$uid=1;
$limit=100500;
$text='#Поздравления#';

while(1=1) {  // - на эту строку жалуется
  $buf=file_get_contents('http://pikabu.ru/profile/user'.$uid);
  if(!preg_match_all($text,$buf,$matchs))
  {
    $uid++;
    continue;
  }
  $fp=fopen('./user'.$uid.'.html','w+');
  fputs($fp,$buf);
  fclose($fp);
  $uid++;
  if($uid>$limit) break;
}

?>
 
тогда вместо while(1=1) заменить на for($uid=1;$uid>$limit;$uid++)
PHP:
<?php

set_time_limit(0);
ini_set('max_execution_time',0);

$uid=1;
$limit=100500;
$text='#мой текст#';

for($uid=1;$uid>$limit;$uid++)
{
  $buf=file_get_contents('http://site.ru/user'.$uid);
  if(!preg_match_all($text,$buf,$matchs)) continue;
  $fp=fopen('./user'.$uid.'.html','w+');
  fputs($fp,$buf);
  fclose($fp);
}

?>
 
Последнее редактирование:
Можно проще: while(true){...}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху