Как приделать поиск к ftp?

обратите внимание, что в пункте меню справа Другие библиотеки

2 подпункта:
Картины
Архив комиксов

располагаются на фтп, и каким-либо поиском не охвачены,
вопрос к знатокам: как это сделать?

Комментарии

ЗЫ мне известно про сервис filesearch.ru
к сожалению мою заявку они игнорируют

может PRO-search 0.18.2 http://pro.setun.net/search/
пример http://www.vzar.net/search/

вроде ничего, но оч. мудреная установка....

все бы ничего, но

1) Нельзя указывать немаршрутизируемые IP-адреса - у меня нет статического IP и не будет, а адрес dyndns он не принимает

2) не надо индексировать все папки на фтп, тем более они в корне фтп не отображаются,
а только конкретные:
ftp://free-books.dontexist.com/pictures
ftp://free-books.dontexist.com/comics1
ftp://free-books.dontexist.com/comics2
ftp://free-books.dontexist.com/comics3
ftp://free-books.dontexist.com/comics4

Там есть e-mail администратора. Я думаю, он будет не против добавить ваш фтп.

Э.. а можно дурацкий вопрос - а в чем смысл/цель катологизации? То есть что вы собираетесь потом делать? искать имена файлов? И как/для чего?

Цитата:
а в чем смысл/цель катологизации?

чтоб найти нужный файл,
но сейчас идет речь не о каталогизации, а об индексации

Цитата:
искать имена файлов?

ну разумеется, а что там еще можно искать? ну и имена папок тоже разумеется

Цитата:
И как/для чего?

как - хороший вопрос, я сделал списки для поиска по странице браузером
ftp://free-books.dontexist.com/comics1/_catalog/

но это не оптимальное решение

Ну... напишите сами програмку которая делает (x)HTML и его и выкладывайте.

умел бы - давно написал,

Directory Lister Pro v1.15

допустим, а обновление?

+ народу каждый раз придется грузить списочек мегабайт на 30

Lord KiRon написал:
Ну... напишите сами програмку которая делает (x)HTML и его и выкладывайте.
Итого, нужна такая программа.

1.есть набор стартовых каталогов, пусть они будут записаны в файле по одному на строке. Стартовые каталоги могут быть для разных дисков и обязательно не пересекаеются (контроля этого не надо).
2.eсть набор правил формирования результирующих списков ссылок. Задаются в отдельном файле как набор троек - имя файла списка, шаблон для преобразования в ссылку имени файла, список шаблонов файлов.
Шаблон формирования ссылки - это префикс, что добавляется к имени файла.
Шаблон файлов - правило отбора файлов для включения в список по данному правилу. Например, a*.* и т.п. Здесь надо придумать какие-то нестандартные способы описания, чтоб можно было задать, например, все файлы с русскими именами (а не перечислять все буквы)
3.место куда складываются результирующие файлы

Результаты
-набор файлов, наверное .html, описанных в п.2
В каждом файле должно быть
-имена файлов, имеющихся в стартовых каталогах из п.1, преобразованных согласно шаблону формирования ссылки из п.2.
-файлы включаются в рез.файл согласно шаблону из п.2 и сортируются по алфавиту.

Требования
-питон, потому как уже установлен. Ну или что другое подобное.

Как это будет выглядеть при работе.
-скрипт будет запускаться раз в сутки, сначала строятся новые списки, а потом они подменяют старые
-юзеры будут видеть эти списки, искать можно или в броузере или предварительно скачав страницы.

БГ, я все правильно понял? ТОлько я такого не умею, может кто поможет...

Было бы под винду - написал бы, в принципе все довольно элементарно если не на ассемблере писать :), а питоны и прочая увы не мое.

Lord KiRon написал:
Было бы под винду - написал бы, в принципе все довольно элементарно если не на ассемблере писать :), а питоны и прочая увы не мое.
у БГ винда стоит, можно и под нее писать, только задача по своей природе не требует интерфейса.

А при чем тут интерфейс, просто тот же .Net имеет отличные классы как для работы с файлами так и для работы с XML.
А с другими я не знаком.

Lord KiRon написал:
А при чем тут интерфейс, просто тот же .Net имеет отличные классы как для работы с файлами так и для работы с XML.
А с другими я не знаком.
я имел в виду юзерский интерфейс. ОН не нужен. Это должно быть консольное приложение. Типа, поставил в виндовый планировщик - и оно там раз в сутки все пересчитывает.

Цитата:
2.eсть набор правил формирования результирующих списков ссылок. Задаются в отдельном файле как набор троек - имя файла списка, шаблон для преобразования в ссылку имени файла, список шаблонов файлов.
Шаблон формирования ссылки - это префикс, что добавляется к имени файла.
Шаблон файлов - правило отбора файлов для включения в список по данному правилу. Например, a*.* и т.п. Здесь надо придумать какие-то нестандартные способы описания, чтоб можно было задать, например, все файлы с русскими именами (а не перечислять все буквы)

можно и списками, сгруппированными по какому-л признаку - по первой букве например,
а вообще просто окно поиска, ищущего по всем спискам

списки не всегда удобны, вот такой файл где будете искать?
[BD Fr] Enki Bilal - Warhole - 03 - Rendez-vous a Paris.cbr

в списке на букву R, B, W ?

Bill_G написал:
Цитата:
2.eсть набор правил формирования результирующих списков ссылок. Задаются в отдельном файле как набор троек - имя файла списка, шаблон для преобразования в ссылку имени файла, список шаблонов файлов.
Шаблон формирования ссылки - это префикс, что добавляется к имени файла.
Шаблон файлов - правило отбора файлов для включения в список по данному правилу. Например, a*.* и т.п. Здесь надо придумать какие-то нестандартные способы описания, чтоб можно было задать, например, все файлы с русскими именами (а не перечислять все буквы)

можно и списками, сгруппированными по какому-л признаку - по первой букве например,
а вообще просто окно поиска, ищущего по всем спискам

списки не всегда удобны, вот такой файл где будете искать?
[BD Fr] Enki Bilal - Warhole - 03 - Rendez-vous a Paris.cbr

в списке на букву R, B, W ?

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

Цитата:
Но сомневаюсь я что у тебя такую нагрузку сервер выдержит.

так и не требуется при каждом запросе перелопачивать N терабайт,

раз в сутки автоматом делается листинг нужных директорий + замена путей на те, что на фтп,
и следующие сутки поиск работает только с этим листингом не лазая с файловую систему

Bill_G написал:
Цитата:
Но сомневаюсь я что у тебя такую нагрузку сервер выдержит.

так и не требуется при каждом запросе перелопачивать N терабайт,

раз в сутки автоматом делается листинг нужных директорий + замена путей на те, что на фтп,
и следующие сутки поиск работает только с этим листингом не лазая с файловую систему

ага, т.е. ты предлагаешь к формированию списков добавить искалку в списках же. Ну тогда списки надо делать просто чтоб текст получался, а искалку по этим файлам на пыхе надо. И все равно нагрузка на сервер будет не слабая. Хотя, конечно, меньше чем файлы по дискам шуршать. НУ чтож, теперь требуется еще и на пыхе запрограммить:) Тоже ниче сложного. НО тем не менее. Ау, есть программеры у нас?

не, лучше все же чтоб списки в html строились. Потом, если сервер не потянет, искалку можно будет просто обрубить и все. А искать что в html, что в тексте - разница не большая.

Я дико извиняюсь. А чё, показать файловую структуру стандартными средствами Апача - не для реальных пацанов? Реальные пацаны юзают .Net?

Вообще-то, требуемая задача решается скриптом строчек на 40 через cgi, со всеми рюшечками, если лень Апач конфигурировать. Я так в юности развлекался, в качестве учебной задачи.

Stager написал:
Я дико извиняюсь. А чё, показать файловую структуру стандартными средствами Апача - не для реальных пацанов? Реальные пацаны юзают .Net?
не, просто показать файловую структуру не годится - там же вложенность может быть большая, так много не наищешь.
Stager написал:
Вообще-то, требуемая задача решается скриптом строчек на 40 через cgi, со всеми рюшечками, если лень Апач конфигурировать. Я так в юности развлекался, в качестве учебной задачи.
да, задача несложная, может и в 40 строчек уложиться получится. Все равно это программер нужен. Задача полезная, мне вот интересно было бы сравнить сколько без нее у Билла раздается и сколько раздастся с нею. Типа, оценить эффективность простейшей автоматизации, так сказать:)

kv написал:
не, просто показать файловую структуру не годится - там же вложенность может быть большая, так много не наищешь.

Дык исходно задача была - дать это проиндексировать поисковику. Какая разница, какая там вложенность?

Stager написал:
kv написал:
не, просто показать файловую структуру не годится - там же вложенность может быть большая, так много не наищешь.

Дык исходно задача была - дать это проиндексировать поисковику. Какая разница, какая там вложенность?
ну, насчет исходной задачи я не уверен. Сорри, не хватает здесь у меня знаний. Это как получается, типа, пусть юзер в гугле поисковые запросы пишет, и там ему будут ссылки выдаваться. ТОлько мне лично такое не очень нравится, иногда больно уж много гуголь ссылок выдает по запросам и как оно соотносится с остальными источниками, то вообще непредсказуемо. Тогда уж надо поисковую машину прямо на своем сервере ставить, но это не уверен, что Билл осилит. ВОбчем я останусь при своем
1.минимальный вариант - генерация сортированных списков по заданному шаблону, на питоне.
2.продвинутый вариант - дополнительно к п.1. поисковый скрипт в нагенеренных списках, на пыхе.
В любом случае, нужен программер - ни я, ни БГ этого сделать не сможем. Неужели нету желающих помочь? Не верю:)

Не, господа, я вам тут не доктор. Ибо полагаю, что всё это костыли к отсутствию главного - нормального электронного каталога. В котором и должен быть весь поиск.

Stager написал:
Не, господа, я вам тут не доктор. Ибо полагаю, что всё это костыли к отсутствию главного - нормального электронного каталога. В котором и должен быть весь поиск.
ага, так и есть. Только если оценить трудоемкость создания этого каталога для фтп БИлла, по-моему там число файлов лимонами считается (БГ, я не ошибся), то куда деваться?

Цитата:
Только если оценить трудоемкость создания этого каталога для фтп БИлла

вот -вот.

комиксов - 260000,
картинок 400000

кто-нибудь подкинет этот скрипт в 40 строчек?

Bill_G написал:
кто-нибудь подкинет этот скрипт в 40 строчек?

На OS/2 перейдёте?
Наивно полагать, сидя под недееспособной ос, что для Вас сделают хороший и удобный инструмент. Используете "решения Майкрософт"? Вот в Микрософт и обращайтесь.

Цитата:
На OS/2 перейдёте?

неа,

Цитата:
Используете "решения Майкрософт"? Вот в Микрософт и обращайтесь.

это скорее нужно не мне, а коммюнити сайта,

Можно подумать что питона под винду нет...
Вы б не вые... а помогли лучше.

Itar-Tass написал:
Вы б не вые... а помогли лучше.

А ты бы на хуй не пошёл?

А не подойдет ли благородным господам DirPrint?
http://www.wimsprograms.com/dirprt40.html
Description:
With this program you can print a file-listing or a tree-like structure from any folder on your hard drive or a shared directory on the network. You can sort the listing by anything you want, apply filters, ... DirPrint integrates seamlessly with Windows Explorer, so all you have to do is right-click on a directory, select Print Directory and you're on your way !

Пользуюсь уже лет 6 от случая к случаю...

она просто делает листинг файлов,
который надо будет каждый раз скачивать и использовать поиск по странице браузера

Такой вариант:
Ставите денвер (Apache+PHP+MySQL) или альтернативный набор (например XAMPP) или собираете/уанавливаете Apache+PHP+MySQL вручную для *nix/win
Настраиваете апач так, чтобы корень сервера совпадал с корнем каталога файлов или просто переносите каталог файлов в корень сервера.
Далее простой скрипт (требует PHP5):

<?php
$root
=$_SERVER["DOCUMENT_ROOT"];
foreach(new
RecursiveIteratorIterator(new RecursiveDirectoryIterator($root)) as $file) {
  echo
$file."<br>";
 
// прочие функции, в т.ч. добавление в БД
}
?>

этот скрипт - итеративный обход каталога $root с обходом всех директорий (любого уровня вложенности) виртуального сервера (не всего компьютера).
$file - полный путь файла (строка) вида Y:/home/test.ru/www\index.php - для винды и вида /pub/home/hostname/htdocs/index.php - для *nix

Переделываем скрипт под свои нужды, распарсивая полученную строку и загоняя её в БД в виде например таком: "полный путь к файлу", "имя файла", "тип файла", "размер файла" и т.д.
Размер файла можно получить функцией filesize ()
Для mysql есть ограничение на длину запроса/количество добавляемых строк (это на тему, что файлов много) - например если формировать строку запроса для записи в БД в теле цикла, то придётся добавить счётчик, который досчитывал бы до 50 (например), выполнял запись в БД, обнулял строку запроса и обнулялся сам.

Выдачу организовываем любыми средствами из БД, можно в формате обычного сайта (на PHP) с поиском по базе (можно аяксом) с прямыми ссылками на файлы.

Есть только один вопрос - я не знаю, есть ли в денвере и других пакетах для винды аналог крона (в данном случае придётся настроить планировщик так, чтобы он запускал браузер с адресом вида http://test.ru/script.php по расписанию (ИЛИ) запускать его ручками каждый раз после обновления (ИЛИ) добавить в планировщик запуск браузера у которого в качестве домашней страницы стоит адрес скрипта).

Фух, вроде нигде не напутал... всё. Но это уже не поиск по FTP. =)

Цитата:
Настраиваете апач так, чтобы корень сервера совпадал с корнем каталога файлов или просто переносите каталог файлов в корень сервера.

а там нет 1 корня,
это 4 жестких диска

Немного поработав с PHP и MySQL предполагаю что можно сделать такой алгоритм -
Качаем список файлов с фтп (лучше бы делать это в локальном каталоге, затем импортировать список)
парсим построчно его в базу
при необходимости делаем запрос из базы с поиском по слову.
в принципе все.
На досуге могу попробовать накропать пример

вариант,
но нужно чтобы листинг делался ежедневно автоматически сам и в базу тоже сам добавлялся

X