Last active
June 1, 2024 22:51
-
-
Save jkubecki/d61d3e953ed5c8379075b5ddd8a95f22 to your computer and use it in GitHub Desktop.
Amazon Kindle Export
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The following data should be run in the console while viewing the page https://read.amazon.com/ | |
// It will export a CSV file called "download" which can (and should) be renamed with a .csv extension | |
var db = openDatabase('K4W', '3', 'thedatabase', 1024 * 1024); | |
getAmazonCsv = function() { | |
// Set header for CSV export line - change this if you change the fields used | |
var csvData = "ASIN,Title,Authors,PurchaseDate\n"; | |
db.transaction(function(tx) { | |
tx.executeSql('SELECT * FROM bookdata;', [], function(tx, results) { | |
var len = results.rows.length; | |
for (i = 1; i < len; i++) { | |
// Get the data | |
var asin = results.rows.item(i).asin; | |
var title = results.rows.item(i).title; | |
var authors = JSON.parse(results.rows.item(i).authors); | |
var purchaseDate = new Date(results.rows.item(i).purchaseDate).toLocaleDateString(); | |
// Remove double quotes from titles to not interfere with CSV double-quotes | |
title = title.replace(/"/g, ''); | |
// Concatenate the authors list - uncomment the next line to get all authors separated by ";" | |
// var authorList = authors.join(';'); | |
// OR Take only first author - comment the next line if you uncommented the previous one | |
var authorList = authors[0]; | |
// Write out the CSV line | |
csvData += '"' + asin + '","' + title + '","' + authorList + '","' + purchaseDate + '"\n' | |
} | |
// "Export" the data | |
window.location = 'data:text/csv;charset=utf8,' + encodeURIComponent(csvData); | |
console.log("Sample Row:"); | |
console.log(results.rows.item(1)); | |
}); | |
}); | |
}; | |
getAmazonCsv(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This sounds exactly what I have been looking for - a version that works with https://read.amazon.co.uk/kindle-library rather than .com would be great.
One of the key things I want to do is tag and group the books I haven't read yet. Some would be best read in a certain order.