доброго времени суток!). Появилась необходимость в скрипте грабере. Тоисть он идет по определенной ссылку( у меня ето про-файл пользователя на форуме), выдирает оттуда только номер его icq и выводит его. Но, в чем загвоздка, мне нужно взать аськи например у 100 пользователей и записать их в один файл, как ето осуществить? Я вот ту пробывал, но ето оно только одну асю выводит PHP: <?php $t_file="t.txt"; $name="http://forum.searchengines.ru/member.php?u=44160"; copy ($name,$t_file); $t=fopen($t_file,'r'); $temp=fread($t,filesize($t_file)); fclose( $t); $begin=strpos($temp,'icq')+276; $end=9; $res=trim(substr($temp,$begin,$end)); echo $res; ?> Заранее благодорю. З.Ы. я понимаю что нужно делатьв все через цикл, но вот как узнать указал ли юзер асю, и как коректно вывести более 1 аськи незнаю...заранее спасибо.
разберешься сам? =) PHP: <?php // 2007 (c) 440hz // получить номер ICQ из контента страницы function GetICQ($id) { $url = 'http://forum.searchengines.ru/member.php?u='.$id; $html = file_get_contents($url); if($html === false) { print("Не могу получить страницу [{$url}]"); exit(); } $icq = 0; $pat = '/return false;">([0-9]+)<\/a><\/td>/'; if(preg_match_all($pat,$html,$match)) { $icq = (int) $match[1][0]; } return $icq; } // перебираем нужный диапазон ID юзеров. for($id=44195; $id <= 44215; $id++) { // получаем ICQ $icq = GetICQ($id); if($icq) print("\n[$id] [$icq]"); else print("\n[$id] no icq"); } print("\n"); ?> Код (Text): hosting(440hz):~/tmp$>php icq.php [44195] no icq [44196] no icq [44197] no icq [44198] no icq [44199] [349852372] [44200] no icq [44201] no icq [44202] no icq [44203] no icq [44204] no icq [44205] no icq [44206] no icq [44207] no icq [44208] no icq [44209] [1390369] [44210] [315742] [44211] no icq [44212] no icq [44213] no icq [44214] no icq [44215] [284115985]
спс, но если не сложно хоть минимально прокоментить, буду очень признателеН! З.Ы. Главное что копирайты поставил, обещаю что не сотру)
не. так прикольнее. хоть будешь знать чья ася... PHP: <?php // 2007 (c) 440hz // получить номер ICQ из контента страницы function GetInfo($id) { $url = 'http://forum.searchengines.ru/member.php?u='.$id; $html = file_get_contents($url); if($html === false) { print("Не могу получить страницу [{$url}]"); exit(); } $nouser = 'Пользователь не указано или не существует'; if(strstr($html,$nouser)) return false; $icq = 0; $pat = '/return false;">([0-9]+)<\/a><\/td>/'; if(preg_match_all($pat,$html,$match)) { $icq = (int) $match[1][0]; } $name = ''; $pat2 = '/<td class="tcat">Просмотр профиля<span class="normal">: (.*)<\/span><\/td>/S'; if(preg_match_all($pat2,$html,$match)) { $name = $match[1][0]; } return array($name,$icq); } // перебираем нужный диапазон ID юзеров. for($id=44195; $id <= 44215; $id++) { // получаем ICQ $info = GetInfo($id); if($info === false) { print("\n[$id] нет такого юзера"); continue; } list($name,$icq) = $info; print("\n[$id] [$name] [$icq]"); } print("\n"); ?> Код (Text): hosting(440hz):~/tmp$>php icq.php [44195] [s2s] [0] [44196] [frag123] [0] [44197] [Alexei42] [0] [44198] нет такого юзера [44199] [arkan] [349852372] [44200] нет такого юзера [44201] нет такого юзера [44202] [Citilink] [0] [44203] [mazzzer] [0] [44204] [Crash_18] [0] [44205] нет такого юзера [44206] нет такого юзера [44207] [mirumir] [0] [44208] [monte133] [0] [44209] [loure] [1390369] [44210] [Doyje] [315742] [44211] [RedNaxi] [0] [44212] [v0nziLka] [0] [44213] [Rusln] [0] [44214] [hardnoob] [0] [44215] [Управляющий] [284115985]
извини, просто я иногда даже не прочитав и не вникнув в код делаю вывод что я не понимаю, глупая привычка. Я уже понял что к чему, огромнейшее тебе спасибО!!!