Pull to refresh

PolitePol.com — оупенсорс проект, вебсайт, генератор RSS лент

image

Я хочу представить широкой публике абсолютно бесплатный веб сервис, позволяющий генерировать RSS каналы для произвольных веб сайтов. Это опен сорс проект. Исходники вы можете найти на гитхабе.

Вступление


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

Техническое описание


Теперь я опишу техническую сторону вопроса. В качестве фронтенд сервера используется django платформа. Запросы на сайты и генерация RSS производится с помощью python фреймворка Twisted и базой классов фреймворка Scrapy. Фронтенд и генерация RSS доступны через nginx прокси. Это сделано для того, что бы оба сервера были доступны с одного и того же домена.

Помощь проекту


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

Как пользоваться?


Пользователь вводит путь к странице и выбирает название и описание новости. После нажатия на кнопку Создать происходит генерация ленты.

Принцип работы генератора


Генератор работает по следующему принципу. Я опишу его на примере. Возьмем за основу небольшой html документ:

<html>
<body>
  <h1>Hello</h1>
  <div>
    <table>
      <tr><td><a href="/link1">Title1</a>
        <p>Description1</p></td></tr>
      <tr><td><a href="/link2">Title2</a>
        <p>Description2</p></td></tr>
    </div>
  <div>
</body>
</html>

Если пользователь выберет в качестве названия и описания статьи узлы документа Title1 и Description1, то будет сгенерировано 3 xpath зароса:

/body/div/table/tr/td — родительский узел
./a[1] — для названия новости, который будет взят относительно родительского узла
./p[1] — для описания новости, который будет взят относительно родительского узла

Заключение


Мне пока не ясна перспектива этого проекта. Для изучения этого вопроса я и сделал этот пост. Если кого-то заинтересовал проект или какие-то его детали, то прошу оставлять комментарии по этой теме.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.