Поиск по блогу

понедельник, 1 сентября 2008 г.

Автоматизация добавления RSS блога в агрегаторы. Часть I

Итак, теории пока достаточно, перейдем к практике. Сделаем утилиту, которая добавляет RSS ленту вашего блога в разные RSS-агрегаторы. Если вам часто приходится заниматься проектированием, то рассуждения об организации программы можно пропустить, не читая.

При проектировании всегда хочется, чтобы программа получилась более-менее универсальной. То есть, чтобы список ссылок ресурсов можно было бы дополнять в конфигурационном файле (базу данных сразу отметаем, не стоит заморачиваться). В конфигурации для каждого ресурса понадобится заполнить следующие поля:

url= /*ссылка на страницу, на которой расположена форма для добавления RSS*/
field_url= /*название (id) поля формы, в которое надо вписать ссылку на сайт (если потребуется)*/
field_rss_url= /*название (id) поля формы, в которое надо вписать ссылку на RSS*/
field_rss_name= /*название (id) поля, в которое надо вписать название блога*/
field_dsc= /*название (id) поля, в которое надо вписать описание блога (если потребуется)*/
field_keys= /*название (id) поля, в которое надо вписать ключевики*/
key_delimiter= /*разделитель ключевых слов. В программе все ключевые слова будем разделять запятыми. А если на ресурсе разделитель будет отличаться — заменим его.*/


Названия полей необходимы для обращения к этим полям. Как видите, программа получается универсальная. Самым трудоемким будет обойти ресурсы и записать в конфигурационный файл id полей. Я преднамеренно включила максимальное количество полей для того, чтобы в будущем эту же программу можно было использовать для добавления ссылок в каталоги соц. закладок и т.д.. Принцип программы будет чрезвычайно прост: после двойного щелчка по ссылке на ресурс (в левой части формы) страница откроется в WebBrowser-е и поля в соответствии с конфигурационным файлом заполнятся данными из верхней части формы. Человеку останется только просмотреть на всякий случай, все ли поля заполнены, ввести где надо капчу, выбрать категорию (если понадобится) и нажать кнопку.

Интерфейс получился такой:

автоматическое добавление ссылки
Итак, в принципе, алгоритм описан. Реализовать его на Delphi — достаточно просто. Выкладываю прототип программы. В ее ini-файле пока только 3 ресурса. По аналогии вы можете добавить, сколько угодно (новые разделы в INI-файле должны называться SITEnn, где nn - порядковый номер. Названия полей (инпутов) ищутся в html-коде страниц и вносятся для каждого сайта отдельно). Крайне полезный список ссылок на RSS-агрегаторы можно найти на блоге ЖПО - Жизнь Поисковой Оптимизации. Было бы здорово, если бы кто-нибудь добавил все ссылки и выложил получившийся файл. Может, у меня дойдут руки на этой неделе... Но пока не до этого. Ждите продолжения данной статьи. Там я остановлюсь на некоторых технических моментах написания программы и приведу кое-какие листинги.

Качайте и пробуйте прототип программы. Надеюсь, что пригодится.

Статьи схожей тематики:



10 комментариев:

  1. а почему коментов нет?
    мне кажется достаточно интересная прога , буду сейча тестить

    ОтветитьУдалить
  2. Мне кажется тебе надо развивать идею этой программы, вообще это очень интересная вещь.
    Обновление для неё будет?

    ОтветитьУдалить
  3. Забыл подписаться на коменты

    ОтветитьУдалить
  4. Kubig, вообще-то, я ее забросила, так как нашла себе другое, более интересное занятие. Да и в массовом добавлении разных лент в агрегаторы не нуждаюсь) У этого блога добавила в разные места, а больше у меня добавлять нечего))) Но на досуге открою проект, посмотрю, что там осталось дописать :) Там самое главное - собрать базу RSS-агрегаторов и внести о них правильные данные.

    ОтветитьУдалить
  5. А расскажи как ты в Dmoz попала?

    ОтветитьУдалить
  6. Просто оставила заявку на сайте) А потом забыла. Спустя какое-то время узнала от сторонних людей, что мой блог приняли. Была удивлена, если честно)

    ОтветитьУдалить
  7. Почти весь листинг есть во второй части, вот тут: http://parsing-and-i.blogspot.com/2008/09/rss-ii.html

    ОтветитьУдалить
  8. TigraNAV, только я эту прогу потом переделывала, делала не через OleObject. Может, выложу потом новый вариант. Давно была мысль доделать это приложение и дополнить базу RSS-агрегаторов - иногда полезно бывает)

    ОтветитьУдалить
  9. Давай давай, Я например только за. Могу даже финансово немного простимулировать за такой полезный труд

    ОтветитьУдалить

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

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

Поделиться