Очистите свой переполненный список для чтения.
Вот репозиторий GitHub. со сценарием.
Если вы похожи на меня, ваш список для чтения переполнен. У меня более 1000 записей. Я использую его каждый день, чтобы быстро напомнить себе о полезных веб-сайтах, которые я нашел, но я никогда не утруждаюсь очищать его после того, как эти сайты использовали свое предназначение.
Я не хотел чистить его вручную, щелкая мышью по 1000+ элементов, это утомительно. Есть ярлык для удаления всех элементов, но перед этим я хотел экспортировать данные.
Вот как это делается.
Ваш список для чтения хранится в ~/Library/Safari/Bookmarks.plist
(по крайней мере, в Mac 11.4
Big Sur). Кроме того, значки для списка чтения хранятся в ~/Library/Safari/ReadingListArchives
.
Чтобы прочитать файл формата .plist
в Python, проще всего использовать библиотеку plistlib:
pip install plistlib
Полный сценарий
Вот полный скрипт — объяснение ниже:
Применение
Основное использование:
- Экспорт в CSV:
python export_reading_list.py csv reading_list.csv
запишет список для чтения в reading_list.csv
.
- Экспорт в JSON:
python export_reading_list.py json reading_list.json
запишет список для чтения в reading_list.json
.
Параметры:
- Также скопируйте значки списка чтения:
python export_reading_list.py csv reading_list.csv — dir-icons-out reading_list_icons
копирует иконки в папку reading_list_icons
. Они соответствуют записям через ключ WebBookmarkUUID
.
- Укажите исходный каталог для иконок:
python export_reading_list.py csv reading_list.csv — dir-icons ~/Library/Safari/ReadingListArchives
По умолчанию ~/Library/Safari/ReadingListArchives
.
- Укажите исходный каталог для файла списка чтения
.plist
:
python export_reading_list.py csv reading_list.csv — fname-bookmarks ~/Library/Safari/Bookmarks.plist
По умолчанию ~/Library/Safari/Bookmarks.plist
.
- Включить кешированные данные для веб-сайтов:
python export_reading_list.py csv reading_list.csv — include-data
Данные записываются в поле Data
. По умолчанию используется опция--exclude-data
, которая исключает данные.
Пояснение к скрипту
Сначала скопируйте файл plist
для безопасности:
Затем найдите элементы списка для чтения в этом ужасно отформатированном словаре:
Преобразуйте словари списка чтения в пользовательские объекты:
Наконец, выгрузите записи в JSON или CSV:
Последние мысли
Теперь у нас есть резервная копия списка чтения. Будущий проект может записать отредактированный файл CSV или JSON обратно в формат списка чтения plist
, распознаваемый Safari.