Скрипт для мини поискового робота

12
IV
На сайте с 22.02.2007
Offline
0
2655

Подскажите, где можно найти скрипт для мини поискового робота? Есть ссылка, нужно чтобы робот проанализировал код страницы по ней, нашел в тексте нужную ссылку и продолжил работать уже с новой страницей. Анализ страницы и парсинг нужных ссылок могу в принципе написать сам, а вот механизм взаимодействия с http я не понимаю.

Заранее спасибо )

SE
На сайте с 11.02.2007
Offline
13
#1
in vite:
а вот механизм взаимодействия с http я не понимаю.

Пишите в личку помогу.

Обмен ссылками Авто-Мото, Пишу PHP скрипты любой сложности, Продажа Запчастей на Японские Авто и Спецтехнику
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Курл в помощь

Не стоит плодить сущности без необходимости
IV
На сайте с 22.02.2007
Offline
0
#3
S.E.O:
Пишите в личку помогу.

как только появится доступ в личку напишу )

Andreyka:
Курл в помощь

курл это что ?

гугл что ли ? )

если да, то естественно искал сначала там, но не нашел.

dlyanachalas
На сайте с 15.09.2006
Offline
693
#4

Сами хотите сделать?

Если

Анализ страницы и парсинг нужных ссылок могу в принципе написать сам, а вот механизм взаимодействия с http я не понимаю.

То всё, что вам ещё нужно, есть здесь: http://ru.php.net/manual/ru/function.fsockopen.php

В

$out = "GET / HTTP/1.1\r\n";

Ставите просто слеш для главной страницы, и путь к странице, для всех остальных. Например:

$out = "GET /links.html/ HTTP/1.1\r\n";
I
На сайте с 11.01.2007
Offline
16
Irh
#5

Имхо, если объем «работ» у робота будет не огромным – можно обойтись и без курла и без sockets.

Реализовать при помощи $content=file_get_contents(“fullpath”).

После прегматчить нужные ссылки, например так:

preg_match_all("/<a (.*)href=(.*)>(.*)<\/a>/iU",$content,$found);

$hrs=$found[2];

А далее… если роботу гулять только внутри сайта – нужно отсеять внешние ссылки, отсеять ссылки mailto.

После попробовать составить полные урлы найденных по ссылкам страниц (не всегда указывается полный путь, иногда нужно добавить к ним и домен, например). Еще нужно отсеять # такие ссылки (как минимум).

Сделать функцию рекурсивной и вызывать себе наздоровьешко, собирая попутно те данные, для которых эта вещь пишется.

Можно пойти и сокетами.

$fp = fsockopen($host,$port,$errno,$errstring,$time_out);

set_socket_blocking($fp,0);

Отправить запрос ну и…

while (!feof($fp) && time()<$timeout)

И собирать данные. И аналогично анализировать дальше.

Удачи в разработке. :)

K
На сайте с 31.01.2001
Offline
737
#6

А может робота лучше на PERL делать?

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.
Andreyka
На сайте с 19.02.2005
Offline
822
#7

Можно и на perl, но самый лучший вариант - взять поисковик с открытым кодом и обработать напильником.

deleon
На сайте с 16.09.2004
Offline
173
#8

Кому нужна хорошая и проверенная в работе PHP-функция для получения объектов из URL (header+content+title+meta tags) + правильная работа с редиректами + любой USER-AGENT (передается как параметр функции) - стучитесь в личку.

D
На сайте с 20.02.2007
Offline
26
#9

Дайте бесплатно ;)

deleon
На сайте с 16.09.2004
Offline
173
#10
dimmonce:
Дайте бесплатно ;)

Так я и не собирался деньги брать :)

Сейчас кину в личку 🚬

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий