25 juli 2013

Safari: De leeslijst url’s exporteren

2 min leestijd

Leeslijst iosLeeslijst 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:

Schermafbeelding 2013-07-22 om 15.43.20

./leeslijst.py > mijnleeslijst.txt

Alle urls worden nu geëxporteerd naar het bestand mijnleeslijst.txt.

Via: Stackexchange

info
Auteur Richard IJzermans
Bijgewerkt05/05/2023 19:26
Categorie macOS
Feedback Probleem melden
Delen 𝕏
  1 reactie

Reacties

Laat een reactie achter



Download gratis de appletips app
voor iPhone en iPad in de App Store