Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

Firefox Bookmarks Reference (JSON)

#json #парсер #firefox


Хочу отпарсить JSON с сохраненными закладками из Firefox, но там очень много параметров,
о назначении которых можно только догадываться (в частности, типы папок). А я хочу
сделать нормальный импорт закладок из FF в свой софт (не костыльный, а в соответствии
с документацией, которую я, к сожалению, на нашел).

Есть ли вообще такое? Или может кто разбирался в этом вопросе и написал свою инструкцию? :)

P.S. На https://developer.mozilla.org/ не нашел. Есть некоторые похожие вопросы,
но по сути не то: https://stackoverflow.com/questions/904522/output-firefox-json-data.
    


Ответы

Ответ 1



Firefox хранит закладки, историю загрузок и посещений в базе данных SQLite, в файле places.sqlite, который находится в папке %APPDATA%\Mozilla\Firefox\Profiles\[RANDOM.PROFILENAME]. В своей программе Вы можете открыть эту базу и прочесть любые интересующие данные (в том числе и перевести их в формат JSON). Есть небольшое разъяснение по структуре тут: http://kb.mozillazine.org/Places.sqlite и тут: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Database Схема для лучшего ознакомления: При создании профиля, создаётся папка с случайным набором символов, отделяющий себя точкой, в начале названия профиля: [RANDOM.PROFILENAME]. Чтобы узнать полный путь к профилю, Вам понадобиться ещё прочитать INI файл profiles.ini который находится в папке %APPDATA%\Mozilla\Firefox\Profiles. В файле profiles.ini несколько параметров: [Profile0] Name=default IsRelative=1 Path=Profiles/s0ddpsc9.default Default=1 Вас интересует именно ключ Path, который указывает на полный путь к конкретному профилю. В Firefox есть ещё возможность сделать резервную копию вручную, в окне закладок, пункт: Import and Backup > Restore... на выходе вы получите готовый JSON файл.

Ответ 2



bookmarks.json - это детали реализации, не стандартный формат. Поэтому у него нет описания, и он может и будет меняться с доработками Firefox. Есть более стабильный формат bookmarks.html, для которого есть куча реализаций и даже, вроде как, документация (https://msdn.microsoft.com/en-us/library/aa753582%28v=vs.85%29.aspx), но в котором не содержится все богатство информации из Firefox. Если хотите связываться с JSON - разберитесь в текущем формате и обязательно добавьте проверки, что формат соответствует тому, что вы ожидаете. Вот тут есть краткое описание общей структуры (которая, в общем, и из примера понятна). Истина в последней инстанции - это код, который этот файл пишет. Сейчас это PlacesUtils.promiseBookmarksTree().

Комментариев нет:

Отправить комментарий