Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> решил сделать робот поиска сайтов на PHP 
:(
    Опции темы
kshyms
Дата 13.12.2007, 11:09 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Цель это заполнение каталога за короткое время при минимуме трудозатрат. 
Идея такая в цикле допустим от 1 до 10 а в перспективе и до 1000 вызываем сайты и пихаем в базу, читаем определяем заголовок и ключевые слова и также в базу пихаем. Этот робот думаю будет небольшим по объему. Что такое индексация до сих пор не понял. Я думаю это просто запись в базу  как есть.
Вопрос как проверить файл на пустоту? Как игнорировать переходы на другой сайт, которые выставлены на некоторых сайтах, что бы цикл не нарушать? У меня еще будут несколько вопросов по мере проведения исследований


Код

include $b;  

начало уже есть

Это сообщение отредактировал(а) kshyms - 13.12.2007, 12:16
PM MAIL WWW Skype   Вверх
bars80080
Дата 13.12.2007, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



если пустота самой переменной содержащей ссылку, то empty
если файл, то filesize и иже с ним функции http://php.ru/manual/index.functions.html
PM MAIL WWW   Вверх
Feldmarschall
Дата 13.12.2007, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: -2
Всего: 32



В протоколе НТТР нет никаких файлов.
PM   Вверх
krundetz
Дата 13.12.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Цитата

Что такое индексация до сих пор не понял. Я думаю это просто запись в базу  как есть.

ИМХО индексация необходима для создания поискового образа документа, тоесть некой абстракции которая в самом примитивном представление является перечнем слов найденных в документе их весу
сопоставленных с неким идентификатором для повышения быстроты поиска.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
numerovan
Дата 13.12.2007, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



что такое ИМХО ?
мне тоже интересно как сделать поискового робота  smile 
PM MAIL   Вверх
bars80080
Дата 14.12.2007, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



имею мнение хрен оспоришь
вставляют где не попадя
PM MAIL WWW   Вверх
kshyms
  Дата 14.12.2007, 11:04 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Чем интересны известные поисковики? Тем, что в их базах есть все. Как они работают ? Поиск новых сайтов у них организован по ссылкам на другие сайты. Есть у них анализаторы, кроме всего прочего.

Добавлено через 4 минуты и 19 секунд
Цитата

что такое ИМХО ?
мне тоже интересно как сделать поискового робота  


Это Ваша точка зрения. Я не волшебник и не все так быстро и еще к тому же я только учусь...
PM MAIL WWW Skype   Вверх
kshyms
Дата 14.12.2007, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Код

// получает содержимое файла в строку
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

Думаю это тоже понадобиться на всякий случай, а случаи бывают разные. 
Можно ли это обработать прочитать и запихнуть в дальнейшем в title заголовок и ключевые слова?

Это сообщение отредактировал(а) kshyms - 14.12.2007, 13:00
PM MAIL WWW Skype   Вверх
kshyms
Дата 14.12.2007, 13:03 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



//если  в загруженном и прочтенном файле есть переход на другой сайт  тогда переход на следующую итерацию

Это сообщение отредактировал(а) kshyms - 14.12.2007, 13:04
PM MAIL WWW Skype   Вверх
coyl
Дата 14.12.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 13.6.2006

Репутация: нет
Всего: 1



Такой поисковик будет адски медленно работать. Индексация - это упорядочивание данных в особую структуру для быстрого поиска. В этом основное назначение индекса. А если тупо записывать все страницы в файлы - то потом по этим файлам поиск будет мягко говоря долгим.

Кстати ИМХО - от английского IMHO (In My Humble Opinion) - по моему скромному мнению =)
А Имею Мнение Хрен Оспоришь - это стёб =)

Это сообщение отредактировал(а) coyl - 14.12.2007, 13:47
PM MAIL   Вверх
kshyms
  Дата 26.12.2007, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Цитата

Такой поисковик будет адски медленно работать. 
 Главное чтоб работало, а вручную сайты добавлять долгая история. Задача простая ускорить заполнение каталога и  заменить модератора роботом. 
загрузка и генерация 1 сайт/ мин + анализ 1 мин + индексация заголовок и ключевые слова 2 мин=4 мин  
15 сайтов в час и в день 225 сайтов. В  каталоге Яндекс 65000 сайтов. Яндекс работает  с 1996 года. Легко подсчитать сколько нужно времени, что бы приблизиться к этому уровню хотя бы теоретически. 

Это сообщение отредактировал(а) kshyms - 26.12.2007, 17:47
PM MAIL WWW Skype   Вверх
kshyms
Дата 27.12.2007, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



PM MAIL WWW Skype   Вверх
kshyms
Дата 27.12.2007, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



а это уже загрузка , анализ линка  и запись его в базу настроен на 30 итераций робот нового поколения.

Только пока не цикле а по одному. Думаю сгодится для добавления сайта в каталог. Это 3 недели работы. 

Код

<html>

<head>
  <title></title>
</head>

<body>



<?php
$url='http://www.aol.com' ;
$file = fopen ("$url", "r");

//çàãîëîâîê
if (!$file) {
    echo "<p>Unable to open remote file.\n";
    exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    /* This only works if the title and its tags are on one line */
    if (eregi ("<title>(.*)</title>", $line, $out)) {
        $title = $out[1];
        break;
    }
}


/// èíäåêñàöèÿ
// Get a file into an array.  In this example we'll go through HTTP to get
// the HTML source of a URL.
$lines = file ($url);

// Loop through our array, show html source as html source; and line numbers too.
foreach ($lines as $line_num => $line) {
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}

// Another example, let's get a web page into a string.  See also file_get_contents().
$html = implode ('', file ($url));



// Çàìåíÿåì âñå ïåðåõîäû íà íîâóþ ñòðîêó ñïåöñèìâîëàìè
$message=ereg_replace("\n","<br>",$message);
// Çàïèñûâàåì ñîîáùåíèå â ôàéë ãîñòåâîé êíèãè. Çíàêè "\n" îáîçíà÷àþò ïåðåõîä íà íîâóþ ñòðîêó
$f = fopen ("book_message2.txt", "a");
 fwrite ($f, "$url|$email|$message/$title/$html\n"); // Çàïèñûâàåì ñîîáùåíèå  Çíàêè "\n" îáîçíà÷àþò ïåðåõîä íà íîâóþ ñòðîêó
 fclose ($f); // Çàêðûâàåì ôàéë
fclose($file);
?>



</body>

</html>
Код





Это сообщение отредактировал(а) kshyms - 21.1.2009, 14:13
PM MAIL WWW Skype   Вверх
kshyms
  Дата 1.1.2008, 08:54 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Итак вырисовываются два варианта на основе генерации случайных чисел создавать линки сайтов. 
1. Юзер сам ищет сайты в поисковике на сайте и пихает их в свою базу (блокнот) на его компьютере по ключевым словам 
2. Админ заупскает робота-поисковика сайты анализируются и HTML коды их записываются в базу блокнот или Mysql. Последнее гораздо предпочтительнее.  
До меня недавно дошло, что можно будет организовать поиск по ключевым словам и записывать html коды сайтов в базу юзера.  
Юзер называет домен и количество итераций. И сам юзер сможет без проблем искать у себя в базе ему нужное по ключевым словам. Это по нашему мнению поисковик нового поколения. 
Каждому юзеру по базе. Возможно ли это сделать? Каким должно быть оптимальное решение этой проблемы?

$f = fopen ("D:\1\wfsearch.08\katalog\book_message2.txt", "a");
fwrite ($f, "$url|$email|$message/$title/$html\n"); 
fclose ($f); 

Кто не согласен приведите аргументы.


Это сообщение отредактировал(а) kshyms - 3.1.2008, 12:08
PM MAIL WWW Skype   Вверх
kshyms
Дата 1.1.2008, 10:07 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Еще проблема.В цикле как правильно записать если файл пустой тогда его игнорировать?
$url=$b10 ;
$file = fopen ('$url', 'r');
if (!$file) {
    echo "<p>не существует";
    FALSE ;
}
PM MAIL WWW Skype   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0927 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.