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

Пароль:

 
Войти при помощи

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
19 комментариев
Desmоnd Онлайн
Кстати, фанфикфейр есть онлайн. Это, конечно, без калибра, чисто скачивание, но в итого выходит текущий фвф без картотеки.
Три рубля Онлайн
Скачивание прежде всего нужно для Сказок и Самиздата (ну и Гальтары, но это не мой фандом). Насколько хорошо факфикфейр работает с ними? В частности, делает ли оглавление?
ИМХО, ещё одна важная функция — подписки. У меня такое приложение ассоциируется с RSS-ридерами — я как раз в таком формате ими и пользуюсь, браузерное расширение на ПК и приложение на Андроид.
Сейчас метки я расставляю добавляя страничку в закладки с соответствующей меткой.
Desmоnd Онлайн
Три рубля
Оглавление на СИ не сделает ни один инструмент. Просто потому, что редко кто главам задаёт стиль h1-h9

Со сказками не знаком.
Три рубля Онлайн
Desmоnd, на Сказках можно, и ФвФ делает.
Desmоnd Онлайн
Три рубля
ФФФ (по крайней мере, веб-версия) не знаком ни со Сказками, ни с СИ. Так что если кто-то к нему будет писать парсер (ффф опенсорсен), то со Сказками проблем не будет. А вот у СИ оглавление - просто никак. Нет, можно, конечно, использовать хтмл-стили заголовков в оглавление, но это оглавление будет появляться на редких текстах, практически никогда. И это никак не формализируешь, так как всякий автор делает как хочет.
Три рубля Онлайн
Desmоnd, да хотя бы Сказки.
Ну и в целом, я немного скачивал через ФвФ с Самиздата, но много раз видел, как Рефу приносили какой-то особо синтаксически замороченный текст, который скачивалка не воспринимала адекватно, и он скачивалку допиливал. То есть, простор для улучшения качества файла есть в любом случае.
Desmоnd Онлайн
Три рубля
Ну, в данном случае вся сила опенсорца в том, что допилить может кто угодно.

Я же помню очень долго недопиленный парсер фанфикшен.нет, пропускающий вещи типа & amp; (без пробела), что не позволяло нормально читать текст с типографскими кавычками например или апострофами
Mikie Онлайн
Есть и другая проблема. Иногда встречается и невалидная вёрстка. И начинаются душевынимающие регекспы. Которые, мухаха, нужно ещё и поддерживать.
Спарсить самиздат довольно просто. Но оглавления там и правда не будет.

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

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

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

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

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

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

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

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











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