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

Пароль

 
Войти при помощи
Mikie
27 сентября 2019
Aa Aa
#фвф
Всё равно пишу раз в год... Меня убедили написать сюда моё личное решение "проблемы фвф". Окей, пишу. Оно для технически подкованных юзеров, не обессудьте.

После технической части тут ниже есть ещё описание того, каким я вижу идеальное решение для фвф.

Итак, есть скрипт на питоне. Называется fanficfare (легко найти). Скармливаешь ему параметром ссылку, он тебе сохраняет произведение по ссылке. Прямо как фвф, только у тебя на компьютере. Сохраняет в epub (ну не популярен формат fb2 на западе почему-то). Для нормального сохранения с фикбука там нужно в настройках в personal.ini в разделе css дописать
.jsPartText {
word-break: break-word;
white-space: pre-wrap;}

Есть расширение для Firefox (для хрома наверняка есть аналогичное по функциональности) "Open With". В соответствии с названием, открывает текущую ссылку где ему укажешь. Создавался для того, чтобы открывать страничку в других браузерах, но почему бы вместо браузера не поставить что-то своё? Просто делаем добавляем вариант открыть с помощью fanficfare. Выглядит это так.

Fanficfare умеет скачивать с большого количества сайтов, в том числе и из под аккаунтов (не везде произведения открываются без входа в профиль, например, хех, на фанфиксе). Для этого смотрите на гитхабе информацию по настройкам (да, на английском).

Короче, получился такой себе сам-себе-фвф. Чего же мне не хватает?


Как я вижу правильный фвф? Прежде всего, это расширение для браузера. Моего, конечно же, в первую очередь (Firefox). Нужно, чтоб так:
01. Заходишь на страничку произведения на одном из многих сайтов (фанфикс, фикбук, АТ, АО3, самиздат, и т.д.)
02. Где-нибудь в углу экрана в настраиваемом месте отображаются метки, а-ля фвф. Я иногда забываю, что я читал, что я пометил, как нечитабельное, что я отложил прочитать позже. Поэтому меток в моём решении мне пока более всего не хватает.
03. В том же месте можно скачать произведение.
04. Все метки хранятся у пользователя, в json'e например (или в sqlite чтоб быстрее, но с импортом-экспортом: экспорт с фанфикса в json я почти допилил (python+beautifulsoup), но я ленивая жопа, говнокод в jupyter надо доделывать и причёсывать).
05. У расширения есть отдельная вкладка с произведениями и фильтрами, аналогичная (или даже превосходящая) функционал фвф.
06. Версионирование скачанных файлов. По дате, по объёму. Чтоб можно было вывести два файла, увидеть разницу, и решить, заменять ли более старый текст более новым, или положить рядом (а то есть товарищи вроде unhollyknight, по сто раз переписывающие, а старые длинные версии потом не найти).
07. Если один текст является подстрокой другого, то автоматически заменять меньший большим.
08. Так как читаю я в основном не на компе (на нём скорее ищу и просматриваю на предмет скачивать или нет), то для андроида нужно какое-то приложение, которое умеет закачать к себе эту базу (меток и возможно самих текстов) и дать мне почитать что я там откладывал и/или скачивал в моей любимой читалке.
09. Нужно как-то определять дубликаты на разных сайтах, версии одного и того же (см. переписываемое).
10. Нужно уметь в много форматов (от маркдауна и fb2 до doc'a). Я за использование pandoc, но это дело вкуса.

11. Если в тегах будет ещё оценка (или сразу много оценок, за сюжет, за язык, за персонажей...), то можно попробовать запилить сервис рекомендательной системы. Регаешься (никаких телефонов!), загружаешь свои оценки (не обязательно метки), тебе создаётся рекомендация. Заодно можно публиковать статистику для авторов по их произведениям (но только для авторов, подтвердивших свой аккаунт и только их произведения). Рекомендательной системой я бы занялся, да. Пишите (я без особого опыта конкретно в этой теме, но люблю "матан" и был бы не против поразбираться с этим).

12. На счёт удалённого. Считаю, должна быть возможность попросить анонов скинуть лично тебе файл, о котором ты кинул клич, но не хранить его на сервере. Возможно, p2p... Об этом можно подумать позднее. Или уже запилить архив удалённого, скажем, на каком-нибудь форумном движке, отдельным проектом, как некоторые горячие головы (типа Marlagram'a) хотели бы. C блекджеком и торрентами.

P.S. Для связности, начался обмен мнениями тут: https://fanfics.me/message406161
P.P.S. Про рекомендательные системы Pефу говорили неоднократно. Кажется, я тоже (но это не точно). Раз не хочет/не может - ну что поделать. Если вспоминать про фанфикс-экстендер... С другой строны он не приносит "недополученную прибыль".
P.P.P.S. Я искренне сочувствую Рефери в связи со всем этим, но фвф свернул в каком-то не том (для меня) направлении.
27 сентября 2019
11 комментариев из 19
Есть и другая проблема. Иногда встречается и невалидная вёрстка. И начинаются душевынимающие регекспы. Которые, мухаха, нужно ещё и поддерживать.
Спарсить самиздат довольно просто. Но оглавления там и правда не будет.

У ффф нет поддержки самиздата и сказок, в том числе в оффлайн версии, но её можно добавить при желании. Заниматься лично я этим вряд ли буду, кому хочется - есть такое: https://addons.mozilla.org/ru/firefox/addon/samlib-tools-we/

Возможно, имеет смысл сделать аддон для браузера, который позволяет скачивать произведения со всех этих сайтов. Это можно сделать и без питона, на чистом жс. Есть (по крайней мере были) скрапилки-плагины для браузера, с постраничностью и всем таким. Значит, это точно возможно. Ещё, возможно, это позволит преодолеть невалидную вёрстку, коль скоро жаваскрипт оперирует не текстом, а объектами, которые создал браузер.
Mikie
Иногда встречается и невалидная вёрстка. И начинаются душевынимающие регекспы.
Когда я вижу, что кто-то парсит html рэгекспами, я начинаю очень сильно жалеть, что текущий уровень развития технологий ещё не позволяет бить людей по лицу через TCP/IP.
Styx
Ну, можешь рассказать мне, как правильно парсить невалидный хтмл:)
Как это делают бедные люди, типа меня? Берётся BeautifulSoup. Он нормально парсит большинство невалидного кода. Всё. У меня пока такого не было, чтоб он не смог.
Вот раньше, когда я ещё изучал пхп (это было лет 10 назад), без регулярок ни один парсер не обходился.

И зря, кстати, такой гон на регекспы. Во-первых, оно давно умеет в нерегулярные языки, во-вторых существуют регекспы здорового человека:)
//Я, конечно, издеваюсь. На самом деле я за монадические парсеры.

Но вообще, по теме есть кому чего добавить?
Как жаль, что я так поздно узнал о https://dteviot.github.io/Projects/webToEpub_CustomizingParserTemplate.html
Это же почти готовый фвф. Надо было искать тщательнее. С другой стороны, питон я люблю больше, чем жс (при всей моей нелюбви к обоим).
Прикручивать локальное хранилище и междумордие к нему для меток я, как говнокодер, делегирую
( ͡° ͜ʖ ͡°) Styx.
Mikie
Стикс, кстати, в вебтоепаб контрибутил :)

Есть ещё краулер для novelupdates, а также опенсорцный fanficfare - но там на питоне, а значит в расширение - фига.
Да, я видел)

На самом деле можно, через native messaging - точно так же, как работает Open With. Просто понадобится писать кроссплатформенный исполнимый файл. Таким головняком вряд ли будет заниматься даже Стикс. Хотя мне такая основательность по душе.

А есть ещё какие-нибудь краулеры, которые уже вот готовы, нужно только допилить слегка?
Тем временем сломался BooksList.me
Mikie
А что там? Потыкался, вроде все на месте
дык не скачивается, всё редиректит на фвф, который не работает
С СИ с андроида пока нечем больше скачивать (там где нет FB2). Разве что https://ebook.online-convert.com/ru/convert-to-fb2
APK всякие скачивать почему-то пока не хочется.
Ещё http://www.prochitalka.com - тут всякое с СИ
UPD: буклист.ми починили
Mikie
Мда. Я только в читать жал, чтобы посмотреть. Пока читает
Когда сбылась мечта некоторых эээ наивных людей. https://fanfics.me/message414394#comments
Оно, конечно, может быть полезно, но весьма ограниченно. Поддерживать это чудо... Всё равно надо переписывать, как это сделано например в fanficfare (где наследуешься и делаешь свою реализацию нужных кусков).

Спасибо Рефу, конечно, но это всё-таки о-малое от...
ПОИСК
ФАНФИКОВ











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