Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Поисковые черви или система паутинного поиска

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Поисковые черви или система паутинного поиска
Имя
Сообщение << Старые топики   Новые топики >>
Поисковые черви или система паутинного поиска - 2007-12-18 21:43:44.956666   
7bios

Сообщений: 50
Оценки: 0
Присоединился: 2007-12-18 21:18:00.596666
Я хочу написать "поискового черьвя", который бы индексировал разнообразные странички, как, к примеру, поисковая система гугл, и что бы лазил не только по страницам типа html и php, но и к просто всем файлам на сайте, к которым открыт свободный доспут, причём адрес сайта-жертвы заранее не известен, а определяется так: сканируется HTML содержание страницы из него выбераются слова что начинаються с www или http:// и эта ссылка становится следующей жертвой и так по паутинке. Я хочу сделать чтобы этот скрипт работал автономно тоесть наверно на кроне. Кто что слышал или читал о таком чуде техники прозьба напишите сюда, а в случае если меня в шестой раз забанят присылайте ваши месаги на [email=7bios@bk.ru]7bios@bk.ru[/email]
 
Post #: 1
RE: Поисковые черви или система паутинного поиска - 2007-12-18 22:09:23.356666   
graf_Otodrakula

Сообщений: 23
Оценки: 0
Присоединился: 2007-12-02 13:06:27.390000
так что тебе мешает? на половину готовых скриптов в сети до фига. умей строить запрос что бы найти то что нужно
Post #: 2
RE: Поисковые черви или система паутинного поиска - 2007-12-18 23:06:41.990000   
Bios_inside

Сообщений: 626
Оценки: 0
Присоединился: 2007-02-23 10:44:18.170000
quote:

ORIGINAL: graf_Otodrakula

так что тебе мешает? на половину готовых скриптов в сети до фига. умей строить запрос что бы найти то что нужно
это всё пустые слова. Что-то по делу можеш предложить?
Post #: 3
RE: Поисковые черви или система паутинного поиска - 2007-12-19 04:45:06.116666   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
Ну писал я такое.
curl/sockets + regex + MySQL и как ты верно заметил crontab.
Ты же всё правильно описал, открывай PHP Expert Editor и вперёд с песней, в чём суть вопроса-то?
Post #: 4
RE: Поисковые черви или система паутинного поиска - 2007-12-19 08:18:27.813333   
Bios_inside

Сообщений: 626
Оценки: 0
Присоединился: 2007-02-23 10:44:18.170000
quote:

ORIGINAL: Lex_Voodoo

Ну писал я такое.
curl/sockets + regex + MySQL и как ты верно заметил crontab.
Ты же всё правильно описал, открывай PHP Expert Editor и вперёд с песней, в чём суть вопроса-то?
нету опыта в написании подобного рода скриптов. Хотелось бы посмотреть исходнички какие-то или почитать статьи, что бы знать с чего начать.
Чат писал, форум писал, сервер статистики писал, смс бота писал, а вот с поисковым  ботом дела не имел.
Ксатати а почему именно curl? Разве на РНР нельзя?
Post #: 5
RE: Поисковые черви или система паутинного поиска - 2007-12-19 09:59:21.650000   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
На, халявЩЕГ). Писал больше года назад. так что местами там кривотня. Через день работы он вылетит от переполнения стека. (по идее, так сам не пробовал). Если приложешь чуточку времени, то вполне сможешь поправить алгоритм. Удачи!
&lt;?php function crawler_GetContent($content) //--{ Загружает страницу }-- { $ch = curl_init(); $options = array(CURLOPT_URL =&gt; $content, CURLOPT_REFERER =&gt; $content, CURLOPT_FOLLOWLOCATION =&gt; true, CURLOPT_HEADER =&gt; false, CURLOPT_USERAGENT =&gt; "oRBCrawler/1.0 (compatible; Win16;)", CURLOPT_RETURNTRANSFER =&gt; true, CURLOPT_TIMEOUT =&gt; 30 ); curl_setopt_array($ch, $options); $file = curl_exec($ch); $error = curl_errno($ch); if ( !$error ) { curl_close($ch); return $file; } else { curl_close($ch); return "error: ".$error; } } function crawler_MakeUrl($url, $href) //--{ Создает URL адрес }-- { if ( strpos($url, "://") === false ) $url = "http://".$url; if ( strpos($href, "://") !== false ) // АБСОЛЮТНЫЕ ССЫЛКИ // return $href; if ( ($href[0] == "/") or ($href[0] == "\\") ) // КОРНЕЗАВИСИМЫЕ // { // ССЫЛКИ // $url = crawler_GetHostByUrl($url); return $url.substr($href, 1, strlen($href) - 1); } else // ДОКУМЕНТОЗАВИСИМЫЕ // { // ССЫЛКИ // $host = crawler_GetHostByUrl($url); $path = substr($url, strlen($host), strlen($url)); $int = strpos($path, "."); if ( $int !== false ) $path = substr($path, 0, $int); else $path = (substr($path,-1)=='/' || empty($path)) ? $path:$path.'/';; $path = substr($path, 0, strrpos($path, "/")); return $host.$path.$href; } } function crawler_GetHostByUrl($url) //--{ Возвращает имя домена исходя из Url }-- { if ( strpos($url, "://") === false ) $url = "http://".$url; $slashes = substr_count($url, "/"); if ( $slashes == 2 ) { return $url."/"; } else { $offset = 0; for($i=0; $i&lt;3; $i++) $offset = strpos($url, "/", $offset+1); $url = substr($url, 0, $offset+1); return $url; } } function crawler_IsInBase($url) { $result = mysql_query("SELECT url FROM pages WHERE url='".mysql_real_escape_string($url)."' LIMIT 0, 1"); if ( mysql_num_rows($result) == 1 ) return true; else return false; } function crawler_InsertInDB($url, $page) { $url = mysql_real_escape_string($url); $page = mysql_real_escape_string($page); $date = date("Y-m-d H:i:s"); mysql_query("INSERT INTO pages (url, page, crawlerdate) VALUES ('{$url}', '{$page}', '{$date}')"); } function crawler_Go($start_url) { global $main_url; if ( strpos($start_url, $main_url) === false ) return false; echo $start_url."\n"; $text = crawler_GetContent($start_url); crawler_InsertInDB($start_url, $text); if ( preg_match_all("!&lt;a[^&gt;]*href\s?=\s?[\"']?([^\"'\s#&gt;]*)[^&gt;]?&gt;!i", $text, $matches) ) { $matches = $matches[1]; $array_items = count($matches); for ($i=0; $i&lt;$array_items; $i++) { if ( substr($matches[$i], 0, 7) == "mailto:" ) continue; if ( $matches[$i] != "/") { $matches[$i] = crawler_MakeUrl($start_url, $matches[$i]); if ( !crawler_IsInBase($matches[$i]) ) crawler_Go($matches[$i]); } } $matches = null; } } ob_implicit_flush(); set_time_limit(0); require_once("sql_connect.php"); $main_url = "news.sobaka.biz"; crawler_Go($main_url); echo "\n\n\nEND"; ?&gt;
Post #: 6
RE: Поисковые черви или система паутинного поиска - 2007-12-19 10:03:52.213333   
Bios_inside

Сообщений: 626
Оценки: 0
Присоединился: 2007-02-23 10:44:18.170000
спасибо и на этом
Post #: 7
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Поисковые черви или система паутинного поиска







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.