У моего программного обеспечения с открытым исходным кодом есть добровольцы, которые объявляют о каждом новом выпуске (или других важных новостях) по различным каналам (официальная страница Facebook, официальный аккаунт Twitter, официальный список рассылки, неофициальная группа Reddit и т. д.).
Мы хотели бы отслеживать эти объявления, чтобы ни один канал не остался без внимания и чтобы мы могли понять, какие новости популярны.
Требования:
Это может выглядеть так (или не так): ... где каждая ссылка указывает на соответствующий пост. Интерфейс администратора будет иметь кнопку для добавления новой строки объявления и способ заменить «не опубликовано» ссылкой на объявление на этом канале.
Я сомневаюсь, что какой-то готовый инструмент для всего этого существует из коробки.
Вы сталкиваетесь со следующими проблемами:
Я бы порекомендовал реализовать скрипты в инструментах автоматизации тестирования. Для этой задачи может быть достаточно Selenium Webdriver и некоторого языка программирования для «управления» веб-драйвером (java, ruby, python).
Вам придется нанять программиста средней квалификации со знанием выбранного языка, Xpath и (опционально) Selenium (это очень просто), но вы сможете сканировать практически ЛЮБОЙ контент.
Я бы посоветовал вам включить в репозиторий страницу отзывов, возможно, как уценку , которую добровольцы могут редактировать со своими ссылками на обзоры и фиксировать , как и любой другой исходный код . Затем у вас может быть скрипт Python , который запускается ежедневно/еженедельно для чтения из этого файла уценки и запускает ссылки, собирая статистику по каждой ссылке. Вы даже можете вывести данные в файл .csv по дате сканирования, чтобы иметь возможность отображать тенденции в виде графиков.
Этот скрипт может обновлять README.md или другую страницу в документах и размещать их в репозитории. Если вы используете GitHub, то обновления README.md автоматически отображаются на домашней странице репозитория — также есть поддержка автоматического отображения документации Sphinx — многие/большинство репозиториев исходного кода поддерживают эту функцию.
Python особенно хорошо подходит для этого, потому что: