Создание собственной ленты RSS для моего университетского сайта - PullRequest
1 голос
/ 12 октября 2019

В моем университете есть сайт, на котором публикуются объявления. Я не могу позволить себе пропустить эти объявления, и в то же время проверять сайт каждый день довольно громоздко. На веб-сайте нет RSS-канала.

Объявления размещаются на веб-странице в следующем формате для URL-адреса объявления:

http://example.com/news/detail/1/n

, где n - объявлениеИдентификатор, который является числовым.

При наличии объявления на вышеуказанной веб-странице (например, http://example.com/news/detail/1/180,) объявление содержится в следующем формате:

            <div class="middleconten">    

              <h3>
              Title           </h3>

 11 October, 2019

              <p>
                             <a href='/some/link' target='_blank'>Click here for more details</a>             
              </p>  

            </div>

и когда нет объявления (то есть, когда пользователь посещает веб-страницу со значением n, которое не соответствует фактическому идентификатору объявления, например http://example.com/news/detail/1/1234567890,), веб-страницаследующим образом:

            <div class="middleconten">    

              <h3>
                          </h3>

 1 January, 1970

              <p>

              </p>  

            </div>

Как создать RSS-ленту для веб-сайта, содержащую значение <h3>, атрибут href и дату?

1 Ответ

2 голосов
/ 12 октября 2019

Вам необходимо регулярно очищать сайт от новых новостей. Вы можете использовать goquery для извлечения данных.

Идея проста. Вам необходимо сгенерировать URL для раздела новостей (введите значение n), начиная с 1, и перейти к каждому URL. Если вы найдете новости (структура существует), сохраните данные. Добавьте 1 к значению n, чтобы получить следующий идентификатор. Если URL не содержит новостей, остановите и сохраните значение номера / идентификатора последних успешных новостей. В следующий раз вы можете начать с этого идентификатора вместо начала.

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

Когда у вас есть база данных с данными, извлеченными с веб-сайта, вы можете опубликовать свой собственный канал RSS из них. Вы можете использовать роутеры типа chi и gorilla feeds для создания RSS-канала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...