↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
ReFeRy
25 сентября 2015
Aa Aa
#фанфик_в_файл #СамИздат

Начал тестировать функцию "слежения за продами", то есть автоматической проверки наличия обновлений на СамИздате. Пока что нет никаких оповещений. Просто скрипт каждую минуту запрашивает следующий по определенному порядку текст, проверяет наличие обновлений, если текст обновился, скачивает его и обновляет. Посмотрю на работу скрипта некоторое время. Если все будет хорошо, допилю уведомления/новости.

Проверяются обновления только тех произведений, на которые подписан хотя бы один пользователь. Штатная задержка между проверками - сутки. Делать максимально оперативное информирование об обновлении я не собираюсь, кого возможная задержка в сутки не устраивает, тот имеет полное право пользоваться другими средствами. Но это все пока примерно, ибо на данный момент в базе всего около 600 произведений с СИ, у которых есть подписчики.

P.S. Тест был остановлен в связи с тем, что у СИ наконец-то появился лог-файл, а я и не знал.
25 сентября 2015
17 комментариев из 26
Ластро
А как можно проверить обновление текста не скачивая сам текст?
Al Lastor
Это вопрос по СИ или по ФвФ?
Ластро
По, СИ. Вы сказали, что проверяется обновление обновление, если оно происходит, скачиваете текст. Я пытаюсь понять, как можно узнать о изменении тексты не скачивая его.
Текст скачивается в любом случае. Если текст изменялся, тогда только он парсится весь и обновляется в БД и архивах Фанфикса.
Ластро
А всё понял. Я надеялся, что СИ разрешает не скачивать текст :(
Я видел предложения скачивать страницу всех работ автора и смотреть на объем текста в килобайтах. Эта страница обычно меньше по размеру, чем любое произведение, и нагрузка на СИ получается меньше. Плюс, можно за раз проверять все тексты автора, если их в базе несколько. Но там же приводились и недостатки такого способа, но что-то не могу их вспомнить.
Ластро
ReFeRy, не пробовал так, не знаю, честно.
Ластро
О чём знаю, о том говорю. Своим методом с 08.16 перелопатил 16k произведений, это есть. Не очень много, но и не так уж мало.
Marlagram Онлайн
Ох, забанят.
Нельзя так интенсивно с одного IP к СамИздату обращаться. Для Мошкова это уже вопрос принципа.
Надо копировать механизм работы Базатарановского сервиса, а не в лоб файлы или странички авторов качать.

И, на мой взгляд, куда актуальнее система оповещений. Когда кто-то вручную удачно обновил подписанный ФвФ текст - сервис обязан этим поделиться...
Где-то есть описание механизма этого самого Базатарановского сервиса?
Marlagram Онлайн
Marlagram Онлайн
Вообще, парсить надо в первую очередь вот это - логи специально созданы для автоматических систем.
Есть правда нюанс - тот IP, который регулярно запрашивает логи, не должен лазить по остальному СамИздату.
Опа. Лог это было бы чудесно! Но ограничение на данный момент хреновое.

А ссылочку на описание лога или упоминание этого ограничение для IP не найдете?
Ага, нашел описание. Про ограничение, правда, там не сказано. Лог появился в июне этого года, ясно почему я про него не слышал еще.
Marlagram Онлайн
Это здесь, включая обсуждения.
Запущено API для обнаружения новинок. С раскладкой по дням
http://samlib.ru/logs/2015/06-30.log

имя файла|тег oперации|таймштамп-MySQL|title|author |type|janr|annot|date|img_cnt|update-unixtime|size kb


Тег операции:
EDT - редактирование атрибутов
TXT - textedit
DEL
NEW
RPL - поверх старого
REN - переименование файла, в скобках новое имя REN(444-2)
UNK - операция не определилась

Ограничение для IP - это из ленты техкомментов. Впрочем, оно пока заявлено как "ручное" - т. е. Мошков лично следит за активностью по фильтрам. И в техкомментах оповещает о претензиях...

PS
Каждое слово должно быть не длиннее 50 символов - крайне раздражает. Тег [code] необходим. Хотя бы специальным флагом для определённых тредов подключаемый...
Так. Ясно. Отключу я пока скрипт, переделаю на парсер логов.
Сделал обновление через логфайл. Потестирую такой вариант.
ПОИСК
ФАНФИКОВ







Закрыть
Закрыть
Закрыть