Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« : 10-11-2003 13:40 » |
|
Вопрос такой. Есть к примеру идея собирать все комп новости в одно место - типа lenty.ru только не от сайтов великосветских, как там, а от обычных небольших сайтов.
Для этого один общий скриптик с общим форматом выдачи данных должен разместить у себя каждый желающий - отредактировать его и выдать инфу о последних новостях сайта.
Для ускорения загрузки новостей появилась идея не оббегать каждый раз, когда клоиент смотрит новости, по всем сайтам откуда они экспортируются, ибо тогда будет кошмар, по скорости загрузки.
А хранить все в одном html файле. Этот файл раз в час или раз в пол часа формировать с помощью cron запсука скрипта паука, который оббегая все сайты будет запрашивать у скрипта дату обновления новостей и если дата новая, то скачивать новость с сайтов и формировать новый блок в HTML. Когда паук оббежит все сайты, то тогда старый HTML менять на новый HTML файл и все - новости обновились.
Все бы хорошо - но вот вопрос.... Все хостинги критичны к вопросу о загрузки их серверов. При наличии 10 сайтов обновленных время скачивания и работы скрипта на сайт получается секунд 5 - т.е. 1 минута работы скрипта на 10 сайтов. И 600 сайтов соответственно час работы... И как обновлять все раз в пол часа???
Поясните принцип работы вот такого сервиса? А то что-то я не догоняю... Ведь обычные поисковики обрабатывают миллионы сайтов, что же делать сайтам статистики или таким как я предложил???
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Lex
|
|
« Ответ #1 : 10-11-2003 13:57 » |
|
Гром, делить на несколько скриптов, каждый из который обрабатывет не более 100 сайтов скажем, затем это все сливается в один файл и показывается.
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #2 : 10-11-2003 14:26 » |
|
Но все равно суммарная работа скриптов будет скажем пол часа. Загрузка на сервер будет в етчении получаса, и при наличии достаточно большого числа получается раз в сутки индексация одной группы - но как-то же сделано, что индексируются новости чаще...
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Lex
|
|
« Ответ #3 : 10-11-2003 14:33 » |
|
Еще вариант, устанавливать маленький таймаут на связь с сервером.
Кстати при твоих начальных данных каждый скрипт работать будет не более 10 мин. А вот сколько скриптов одновременно может рабоать зависит от сервера, на котором они крутятся.
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #4 : 10-11-2003 14:43 » |
|
Кстати при твоих начальных данных каждый скрипт работать будет не более 10 мин. А вот сколько скриптов одновременно может рабоать зависит от сервера, на котором они крутятся.
В принципе верно - запускать скрипты пачками на короткое время и ставить не выскоий тайм-аут и тогда все отработает в сумме за 10-15 минут при этом каждый скрипт скажем по 3 минутам, и получится что отработка пойдет б быстрее... Кстати как ты думаешь такая идея пойдет???
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #5 : 10-11-2003 14:48 » |
|
Ведь обычные поисковики обрабатывают миллионы сайтов, что же делать сайтам статистики или таким как я предложил??? Некоректное сравнение. Поисковик и новостная лента - вещи разные и работают по разному. Поисковику торопиться некуда, потому он может и много просматривать, а лента берет не все и с небольшого списка сайтов. А принцип работы схож - параллельные запросы страниц. Без графики, стилей и рекламы страницы весят в несколько раз легче и грузятся быстрее. Сливать в один файл несколько процессов врятли будут - быстрее это делает один, а остальные заносят в отдельные файлы или в базу. В этом случае генерить результирующую страницу можно чаще и независимо он роботов. Главное чтобы они уложились в отведенный период времени.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Lex
|
|
« Ответ #6 : 10-11-2003 14:56 » |
|
Гром, об этом я и говорил. И если использовать для слива результатов БД , как предлагает RXL, то можно сделать отдельный скрипт, который запускается на странице и делает выборку по текущим найденым новостям, и не зависит от поисковых скриптов.
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #7 : 10-11-2003 16:59 » |
|
Понял - спасибо - вопрсов вроде больше нет - как вам идейка - сделаем Как только движок напишу - будем ставить.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #8 : 10-11-2003 20:28 » |
|
Давай разберем какие проблемы видны на первый взгляд: 1) На каждый сайт придется писать свой скрипт и при смене дизайна на нем еще и переписывать. Т.е. надо следить за этим, или как-то определять смену дизайна автоматически. 2) После разбора страницы определить, была ли уже зафиксированна эта статья. 3) Авторские вопросы: разрешат ли хозяева тех сайтов такое копирование?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #9 : 10-11-2003 20:42 » |
|
1&2. Абсолютно верно - только не писать а настраивать. Т.е. есть таблица со статьями. Пишется скрипт - где есть абстрактное обращение к таблице БД - которая будет указана, к полям, которые будут указаны, и берет 10 последних сообщений - по дате. При повторном запросе делаем WHERE data>olddata т.е. имеем все статьи после - если вернулось 0 - то ничего не качаем. 3. А как я скрипт размещу без их разрешения???
Это надо к каждому сайту крупному обращаться. А мелкие сами придут - рекламу - раскручивать надо.
ИМХО вполне может получиться.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #10 : 10-11-2003 21:05 » |
|
А с каких сайтов ты хочешь брать новости? (кроме compulenta.ru - это и так есть).
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #11 : 10-11-2003 22:35 » |
|
RXL, я вообще не новости хочу брать. У каждого сайта есть статьи - обновления - не новости как на лентах, а именно обновления. Автоматом это выводит - 20-40 сайтов нормально работающих собрать и с ними работать, тогда вся эта 1 страничка будет стоить всех новостных лент, ибо будет для программеров содержать самые новые статьи рунета.
Архива само собой не будет, т.е. страница новостей длиной скажем в 50 пунктов.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #12 : 11-11-2003 08:00 » |
|
Предлогаю сделать робота на perl-е. Для начала нужно определить формат базы и предварительный список сайтов (для тестов).
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #13 : 11-11-2003 10:14 » |
|
RXL, я перл не знаю, вернее знаю но плохо...
Формат откатывать будем на себе... Таблица - с скачанными статьями - дата десриптор ссылка сайт откуда - типа ID, другого пока не вижу...
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #14 : 11-11-2003 10:48 » |
|
За то я перл немного знаю У тебя подопытные сайты на примете уже есть?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #15 : 11-11-2003 10:52 » |
|
Приметы есть - надо по фаворитам пройтись - но тестировать бум на своем.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #16 : 14-11-2003 13:42 » |
|
Гром, написал небольшой скрипт на perl-е. Его еще дорабатывать нужно, но базовые ф-ии работают нормально. как-то: каждое задание в своем процессе (так контролировать легче и есть параллельность выполнения), ф-ии закачки страницы по заданному в параметре url-у, подключение к БД, для каждого сайта свой компактный модуть (отдельный файл), который парсит страничку, с возможностью вызывать сервисные ф-ии из основного модуля. Пока на shelek-е отрабатываю - закачивает /club/view.php, находит на нем линки типа /club/view.php?id= , а на тех страницах уже лежат ссылки на статьи. Если нужны только обновления с точки зрения сайта (с точки зрения робота, обновления - это то чего он еще не имеет), то сразу на /club/ , а там и лежат ссылки на последнее. Как лучше? То ли вообще я делаю?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #17 : 14-11-2003 19:37 » |
|
Ни фига себе скорость... Я хотел это на php писать - но Перл тоже пойдет - будет два варианта - я тебе полностью свою идею завтра нарисую, а ты сам посмотришь и обдумаем ОК?
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #18 : 17-11-2003 15:01 » |
|
У меня пока нет главного - что считать новым.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #19 : 17-11-2003 15:04 » |
|
будет база в которой есть последняя дата добавленного докуменгта с конкретного сайта, все остальное новое... Для нового сайта при добавлении - 5 последних новостей - ну или 10 - там надо конфиг делать.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #20 : 18-11-2003 10:07 » |
|
Не всегда на странице есть дата выпуска статьи.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #21 : 18-11-2003 10:10 » |
|
Я знаю, тут у нас проблема ее надо обдумывать.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
zerokool
Гость
|
|
« Ответ #22 : 10-05-2004 09:02 » |
|
RXL и Гром. Пронаблюдал ваши творческие муки. Сначала от души потрещал, потом стало жалко. Могу помочь. Не хотелось бы, что бы вы меня воспринимали как отрицательного персонажа этой пьесы. Я деиствительно могу разрешить ситуацию. 1) Парсить чужие сайты это просто гениальная идея, ну, как говориться, черевато... Подумайте сами. Если же хотите парсить с благославения админов самих сайтов - удачи... Админ вашего сервака от всей души обрадуется обжерливому роботу + сложно + нерационально. 2) Можно сделать по-старинке. На единственном серваке лежит жирная база данных:) к которой админы сайтов с помощью заранее любезно предоставленного скрипта добавляют новости, анонсы и. т. д. 3) Скрипт вашей ленты будет вытаскивать последние n записей и отдавать подпраграмме скинов. (При правильном написании подпрограммы на перле нет ничё прощем, чем натянуть заранее приготовленную шкурку). Но это мелочи. Если сам подход к решению проблеммы не противоречит вашим поцифистским убеждениям я подробно расскажу как это сделать. (может и сделаю, если время будет). В принципе на все про все у меня бы ушло 10 часов... максимум. P.S. Извините, что вмешался в вашу дискуссию. Если сочтете мой стиль немного... бестактным, то прошу прощения. P.P.S О грамматических ошибках знаю и сам:)
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #23 : 10-05-2004 09:48 » |
|
Твое пребывание на форуме этом зависит от того - как быстро ты извинишься за свое прошлое сообщение!!!!
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
|