Kindleの蔵書一覧CSV吐き出し【2022年3月動作確認済】

 コンピュータ  635

usayamadx氏のコードを主に参考にして、日本のアマゾンにも対応するように修正を加えた。

// init
let xhr = new XMLHttpRequest()
let domain = 'https://'+ document.domain + '/'
let items = []
let csvData = ""
// function
function getItemsList(paginationToken = null) {
  let url = domain + 'kindle-library/search?query=&libraryType=BOOKS' + ( paginationToken ? '&paginationToken=' + paginationToken : '' ) + '&sortType=acquisition_desc&querySize=50'
  xhr.open('GET', url, false)
  xhr.send()  
}
// request result
xhr.onreadystatechange = function() {
  switch ( xhr.readyState ) {
    case 4:
      if(xhr.status == 200) {
        let data = xhr.responseText
        data = JSON.parse(data)
        if(data.itemsList) {
          items.push(...data.itemsList)
        }
        if(data.paginationToken) {
          getItemsList(data.paginationToken)
        }
      } else {
        console.log('Failed')
      }
      break
  }
}
// action
getItemsList()
// to csv
items.forEach(item => {
  //console.log(JSON.stringify(item));
  csvData += '"' + item.asin + '","' + item.title.replace(/"/g, '').replace(/\n|\r\n|\r/g, '') + '","' + item.authors + '","'  + '"\n'
})
window.location = 'data:text/csv;charset=utf8,' + encodeURIComponent(csvData)

2022/03/03 GoogleChrome(Version 98.0.4758.109 arm64版)にて動作確認済。

使用方法

https://read.amazon.co.jp/にアクセス。

②F12を押して、Chromeの開発モードを表示。

③コンソールに上記のコードをコピペして実行。

⇨ CSV形式でKindleの蔵書一覧が出力される。

今後の予定

Kindleの本が増えてきたので、コレクションでまとめて管理するため、日本十進分類表のコードに紐づけられるようにしたいと思っている。作成したので、こちらの記事で紹介。

参考HP

Qiita @taka_hira氏 Kindle蔵書一覧を取得する方法
https://qiita.com/taka_hira/items/8a9181c0733de2c9f8ee

Github jkubecki氏 /ExportKindle.js
https://gist.github.com/jkubecki/d61d3e953ed5c8379075b5ddd8a95f22

GIthub usayamadx氏 /ExportKindle.js
https://gist.github.com/usayamadx/9c638d9b70bc714d6dd6043fcd54085f



関連記事