I'm looking to download the reading list I've been populating from iOS (I think this is stored in iCloud), preferably in CSV format. Is this possible? I don't mind getting it in another format, but I'd prefer to get it from the web (I couldn't find iCloud's online interface, is that still a thing?) and not from iTunes.
Asked
Active
Viewed 1,117 times
5
-
1Do you want to be able to download it remotely, or just find it locally on your computer? If you have it synched to your desktop, then I think this answer has a good solution for the latter case. – beroe Mar 30 '14 at 18:01
1 Answers
4
Print the URLs of bookmarks and pages on the reading list:
defaults read ~/Library/Safari/Bookmarks.plist|sed -n 's/^ *URLString = "\(.*\)";/\1/p'
Print the URL, title, date added, and preview text for reading list items as CSV:
sudo gem install plist csv;plutil -convert xml1 -o - ~/Library/Safari/Bookmarks.plist|ruby -rplist -rcsv -e 'Plist.parse_xml(STDIN.read)["Children"].select{|e|e["Title"]=="com.apple.ReadingList"}[0]["Children"].each{|e|puts [e["URLString"],e["URIDictionary"]["title"],e["ReadingList"]["DateAdded"].strftime("%F %T"),e["ReadingList"]["PreviewText"]].to_csv}'

Lri
- 105,117
-
-
All of this is certainly very nice, but when you have already brought the file
.plist
on a Mac. I have my reading list on my iPhone. How can I bring the reading list on a Mac, or on a PC ? – Nicolas Barbulesco Sep 03 '14 at 13:25 -
many thanks for this nice answer and help this string does not work on the Mac Catalina 10.15 Traceback (most recent call last): -e:1:in
<main>': undefined method
[]' for nil:NilClass (NoMethodError) ruby --version ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19] – azura net Jun 04 '21 at 15:51 -
@azuranet I just tried the second command in Big Sur. Both the installation of the gems and the command itself worked. If it doesn't for you, please ask a new question with details, and link to the Q&A here for reference. – nohillside Jun 04 '21 at 15:57
-
defaults read ~/Library/Safari/Bookmarks.plist |sed -n 's/^ *URLString = "\(.*\)";/\1/p'
Output: Domain /Users/user/Library/Safari/Bookmarks.plist does not exist – BabyBoy Jun 04 '21 at 15:57