Просмотр полной версии : [php] Просмотр страниц и поиск на них текста
Теоретически, скрипт не сложный, но сам я PHP не учил.
Цель такова: нужно перебирать поочередно страницы вида http://domain.name/dir/xxxxxxx (прибавляя к числу xxxxxxx по единице за цикл) и искать в сорцах определенный текст. Положительные результаты сохранять в файлик. Из параметров требуется только возможность установки интервала между просмотрами, установка начального числа xxxxxxx и конечного.
Благодарю.
MasterMushi
19.09.2008, 14:43
Погоди погоди. Если смотреть через http:// то единственное что ты увидишь так это только HTML. Или тебе нужен именно HTML парсер?
Есть много страниц. На некоторых из них (на каких - неизвестно), в сорцах есть некий кусок html-кода. Нужно найти страницы, на которых присутствует этот фрагмент кода.
<?
$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:
<?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: циферки мну опредили =\
За скрипт спасибо. Сейчас опробую.
А про ту тему. Думал там вопросы по языку, а не просьбы о написании скриптов...
UPD: Даже два :) Спасибо.
mr.The у 159932 правильнее т.к он не открывает каждый раз .. .
Doom123, я ж неспорю. я и неставил себе задачу сделать хороший, оптимизированый скрипт. я просто накидал по быстрому с целью помочь.
159932, а слип в секундах?
159932, а слип в секундах?
да
MasterMushi
19.09.2008, 15:05
нет, слип всегда в тысячных. Нужно для того чтобы сервер не отвалил запросы на файлы с ошибкой отказано в доступе. Лучше всего поставить значение 35. Если сервер с файлами общий и тупой тогда 120
Хммм точно, по мануалу sleep в секундах. Это плохо. Нужно бы сделать задержку поменьше
миллисекунд на 35. Иначе пока 10000 файлов пропарсишь, можно напиться и протрезветь.
Вот что нам надо: void usleep ( int $micro_seconds )
и обязательно в начале скрипта поставить set_time_limit(0);
Эта функция уберет ограничение на время исполнения скрипта (в РНР есть ограничение на время работы сервера над скриптом. Минута по умолчанию)
Сервер народа ответил то, что такой страницы нет. Введи в адресной строке браузера урл и проверь.
Сделай так: <?
$page = file_get_contents("http://rw6ase.narod.ru/");
echo $page;
?>
отвечу , как задашь вопрос в теме для этого !!!
https://forum.antichat.ru/thread40896.html
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot