PDA

Просмотр полной версии : [php] Просмотр страниц и поиск на них текста


Diablo
19.09.2008, 14:31
Теоретически, скрипт не сложный, но сам я PHP не учил.
Цель такова: нужно перебирать поочередно страницы вида http://domain.name/dir/xxxxxxx (прибавляя к числу xxxxxxx по единице за цикл) и искать в сорцах определенный текст. Положительные результаты сохранять в файлик. Из параметров требуется только возможность установки интервала между просмотрами, установка начального числа xxxxxxx и конечного.

Благодарю.

MasterMushi
19.09.2008, 14:43
Погоди погоди. Если смотреть через http:// то единственное что ты увидишь так это только HTML. Или тебе нужен именно HTML парсер?

Diablo
19.09.2008, 14:49
Есть много страниц. На некоторых из них (на каких - неизвестно), в сорцах есть некий кусок html-кода. Нужно найти страницы, на которых присутствует этот фрагмент кода.

159932
19.09.2008, 14:51
<?
$beg = ; # начальный ид
$en = ; # конечный ид
$tx = ''; # что искать
$sl = ; # сколько спать
$ddd = fopen('ddd.txt','a');
for($i=$beg; $i<$en; $i++) {
$c = file_get_contents('http://domain.name/dir/'.$i);
if (strpos($c,$tx) != false) fwrite($ddd,$i."\r\n");
else continue;
sleep($sl);
}
fclose($ddd);
?>
для этого существует отдельная тема с пхп вопросам :mad:

mr.The
19.09.2008, 14:53
<?php
for($i=1;$i<=99999;$i++){
$file=file_get_contents("http://domain.name/dir/$i");
if(strstr($file,"какой то текст для описка")) {
$f=fopen("log.log","a+");
fwrite($f,"пыщ пыщ! мы нашли! нумбер $i\r\n");
fclose($f);
}
}
?>

накидал быстренько. не тестил. думаю разберёшся.

UPD: циферки мну опредили =\

Diablo
19.09.2008, 14:55
За скрипт спасибо. Сейчас опробую.
А про ту тему. Думал там вопросы по языку, а не просьбы о написании скриптов...

UPD: Даже два :) Спасибо.

Doom123
19.09.2008, 14:56
mr.The у 159932 правильнее т.к он не открывает каждый раз .. .

mr.The
19.09.2008, 14:58
Doom123, я ж неспорю. я и неставил себе задачу сделать хороший, оптимизированый скрипт. я просто накидал по быстрому с целью помочь.

Diablo
19.09.2008, 15:02
159932, а слип в секундах?

159932
19.09.2008, 15:03
159932, а слип в секундах?
да

MasterMushi
19.09.2008, 15:05
нет, слип всегда в тысячных. Нужно для того чтобы сервер не отвалил запросы на файлы с ошибкой отказано в доступе. Лучше всего поставить значение 35. Если сервер с файлами общий и тупой тогда 120

Хммм точно, по мануалу sleep в секундах. Это плохо. Нужно бы сделать задержку поменьше
миллисекунд на 35. Иначе пока 10000 файлов пропарсишь, можно напиться и протрезветь.


Вот что нам надо: void usleep ( int $micro_seconds )

и обязательно в начале скрипта поставить set_time_limit(0);
Эта функция уберет ограничение на время исполнения скрипта (в РНР есть ограничение на время работы сервера над скриптом. Минута по умолчанию)

.:nbd:.
20.09.2008, 06:41
Сервер народа ответил то, что такой страницы нет. Введи в адресной строке браузера урл и проверь.
Сделай так: <?
$page = file_get_contents("http://rw6ase.narod.ru/");
echo $page;
?>

159932
21.09.2008, 00:37
отвечу , как задашь вопрос в теме для этого !!!
https://forum.antichat.ru/thread40896.html