Safari: De leeslijst url’s exporteren
Leeslijst is een hele handige functie in OS X 10.7 en hoger om een bepaalde webpagine op een later (of beter) tijdstip nog eens te bekijken. Bijkomend voordeel van deze functie is dat de website na het toevoegen aan de leeslijst automatisch door Safari wordt gedownload en lokaal wordt opgeslagen. De webpagina is hierdoor ook beschikbaar op het moment dat er geen internet verbinding beschikbaar is.
Mocht je de functie vaak gebruiken en een overzicht willen hebben welke URL's er allemaal in de leeslijst aanwezig zijn dan kun je onderstaand script gebruiken. Het script exporteert alle url's welke zich in de leeslijst bevinden naar het scherm. Door gebruik te maken van een 'redirection' kun je de output bewaren als txt bestand.
Het Python script:
#!/usr/bin/env python import plistlib from shutil import copy import subprocess import os from tempfile import gettempdir import sys import atexit BOOKMARKS_PLIST = '~/Library/Safari/Bookmarks.plist' bookmarksFile = os.path.expanduser(BOOKMARKS_PLIST) # Make a copy of the bookmarks and convert it from a binary plist to text tempDirectory = gettempdir() copy(bookmarksFile, tempDirectory) bookmarksFileCopy = os.path.join(tempDirectory, os.path.basename(bookmarksFile)) def removeTempFile(): os.remove(bookmarksFileCopy) atexit.register(removeTempFile) # Delete the temp file when the script finishes converted = subprocess.call(['plutil', '-convert', 'xml1', bookmarksFileCopy]) if converted != 0: print "Couldn't convert bookmarks plist from xml format" sys.exit(converted) plist = plistlib.readPlist(bookmarksFileCopy) # There should only be one Reading List item, so take the first one readingList = [item for item in plist['Children'] if 'Title' in item and item['Title'] == 'com.apple.ReadingList'][0] if 'Children' in readingList: for item in readingList['Children']: print item['URLString']
Kopieer het bovenstaande pythons script naar editor (bijvoorbeeld Tetxtwrangler) en bewaar deze op je harddisk met als naam leeslijst.py
Geef hierna het script execute rechten met het commando:
chmod +x leeslijst.py
Hierna kun je het leeslijst script starten vanuit de map waarin het script zich bevindt met:
./leeslijst.py
Na het uitvoeren zullen url's welke aanwezig zijn in je leeslijst verschijnen op het scherm, wil je deze bewaren als text bestand dan is dat mogelijk met:
./leeslijst.py > mijnleeslijst.txt
Alle urls worden nu geëxporteerd naar het bestand mijnleeslijst.txt.
Via: Stackexchange
Auteur | Richard IJzermans | |
Bijgewerkt | 05/05/2023 19:26 | |
Categorie | macOS | |
Reacties
Heel goede tip. Nu zie ik pas wat er allemaal in mijn leeslijst staat.
Bedankt voor deze.