書籍名 作者 出版社 サムネイル ビューアーアドレス 販売ページ等を取得

手順

  1. 購入済みの画面を表示(ブラウザで右上menu)
  2. すべて表示。 シリーズをまとめて表示はしない
  3. F12などで、ブラウザの開発ツールにする(デバックモード)
  4. コンソール画面を選択
  5. コンソール画面に下記スクリプトを入力(コピー貼り付け。 エンターを押して実行)
  6. 一覧CSVができる

スクリプト

// init
let xhr = new XMLHttpRequest()
let domain = '<https://bookwalker.jp/prx/holdBooks-api/hold-book-list/>'
let items = []
let csvData = ""
let csvHead = "productId, title, authorName, companyName, imageUrl, viewerUr, detailUrl, moralTypeCode ,isExpired\\n"
let page = 1

// function
function getItemsList(page) {
  let url = domain + '?page=' + page
  console.log(url)
  xhr.open('GET', url, false)
  xhr.send()  
}

// request result
xhr.onreadystatechange = function() {
  switch ( xhr.readyState ) {
    case 0:
      console.log('uninitialized')
      break
    case 1:
      console.log('loading...')
      break
    case 4:
      if(xhr.status == 200) {
        let data = xhr.responseText
        data = JSON.parse(data)
        if(data.holdBookList.entities) {
          items.push(...data.holdBookList.entities)
        }
        console.log(data.holdBookList.totalPage)
        if(data.holdBookList.totalPage==page) {
       	  break
        }
        page=page+1
        getItemsList(page)
      } else {
        console.log('Failed')
      }
      break
  }
}

// action
getItemsList(page)

// to csv
items.forEach(item => {
  csvData += '"' + item.productId + '","' + item.title + '","' + item.authors[0].authorName +  '","' + item.companyName +  '","' + item.imageUrl + '","' + item.viewerUrl + '","' + item.detailUrl + '","' + item.moralTypeCode + '","' + item.isExpired + '"\\n'
//  csvData += '"' + item.productId + '","' + item.title + + '","'+ '"\\n'
})
//window.location = 'data:text/csv;charset=utf8,' + encodeURIComponent(csvData)
window.location = 'data:text/csv;charset=utf8,' + encodeURIComponent(csvHead + csvData)

電子書籍購入一覧とか作成