Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите мне сделать web-паучка (https://forum.antichat.xyz/showthread.php?t=77131)

MafiaBoy3 14.07.2008 17:31

Помогите мне сделать web-паучка
 
Как обычно GOOGLIL но нифига не нашол.

Как на php + mysql можно сделать простого паучка, который бы работал по следующему алгоритму:
1. Получить ссылку на ресурс.
2. Паук заходит на сайт и собирает ссылки на все страницы.
3. По найденным ссылкам на страницы он добавляет найденный материал (текст страницы)
в базу данных Mysql.


Помогите , просто даже не знаю с чего начать.

diehard 14.07.2008 17:40

начни с чтения по темам:
Сокеты + регулярные выражения + Insert Into

mff 14.07.2008 18:41

Посмотри скрипт который писал NOmeR1
Цитата:

Сообщение от NOmeR1
Уф.. Я сёдня потрудился, написал скрипт, который получает все ссылки с сайта.

http://forum.antichat.ru/threadnav65761-36-10.html

.:EnoT:. 14.07.2008 18:48

Мало понял из того что ТС написал....непонятно откуда получать ссылку на ресурс, какую именно инфу сохранять и т.д....
Вот самый простейший пример:
PHP код:

<?php
#Подключаем БД
mysql_connect('localhost''user''pass') or die('No connect');
mysql_select_db('mysql') or die('No connect');
#Откуда-то получаем ссылку на ресурс
$site 'site.ru';
#Хапаем код сайта
$content file_get_contents($site);
#Парсим ссылки
preg_match_all('/<a href="(.+)" (.+)<\/a>/'$content$links);
#Ходим по ссылкам и сохраняем инфу в БД
foreach($links[1] as $link){
        
#Получаем инфу с сайта
    
$str file_get_contents($link);
        
#Заносим в БД
    
mysql_query('INSERT INTO `table` VALUE(null, '.$str.')');
    
mysql_close();
}
?>

Более того готовый скрипт парсинга выложили выше, тебе только доработать под себя....не забывай только проверять на абсолютные и относительные ссылки.

mr.The 14.07.2008 21:04

если я правильно понял, то алгоритм такой:
1) даёш паучку ссайт
2) он берёт с него все ссылки и
2.1)добавляет в бд
2.2)переходит по ним. далее к п.2

хотя может тебе просто нужен поисковый двиг... =\

biophreak 15.07.2008 09:22

Хм...по этому алгоритму оно может нихреново зациклиться :))))

Whirt 25.07.2008 03:48

Цитата:

Сообщение от biophreak
Хм...по этому алгоритму оно может нихреново зациклиться :))))

+1, поэтому нужно составить карту ссылок, исключающую дубликаты, иначе будет вечный цикл. Так же опционально можно сделать фильтр глубины, чтобы уменьшить число итераций (допустим обрабатываются ссылки на 3 уровня вниз, обрабатываются ссылки только с данного домена, etc.)


Время: 12:34