Amazonで本の目次を取得するブックマークレット

WorkFlowyを使った抜き書き読書記録はとても相性が良く書籍管理という面でも便利です。

前回はkindleでのhighlightを取り込むブックマークレットを紹介しましたが、今回はkindleではなく紙本向けのブックマークレットです。
もちろん紙本から直接ブックマークレットはできません。

そこでAmazonを利用します。そう今回紹介するのは、Amazonの本のページから書籍名と著者、そして目次をmemoflowy経由でWorkFlowyに送るブックマークになります。

使い方
Amazonの本の紹介ページでデスクトップ表示にしたてからブックマークレットを起動します。するとmemoflowyに書籍名と著者名を一行目に、2行目以降に一段下げた状態で目次が並びます。

【注意】モバイルのページでは目次を取ることはできません。必ずデスクトップ表示変更してからブックマークレットを起動してください。

javascript:(function()%7B(function(f,%20s)%7Bs%20=%20document.createElement(%22script%22);s.src%20=%20%22//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js%22;s.onload%20=%20function()%20%7Bf(jQuery.noConflict(true))%7D;document.body.appendChild(s)%7D)(function($)%7Bif($('%23productTitle').length)%7Btxt=$('%23productTitle').text().replace(/%5Cn/g,'')+'%20';%7Delse%20if($('%23title').length)%7Btxt=$('%23title').text().replace(/%5Cn/g,'')+'%20';%7Delse%7Btxt=$('%23btAsinTitle').html().replace(/%3Cspan.*?%3C%5C/span%3E/g,'').replace(/%5Cn/g,'')+'%20';%7Dif($('.contributorNameID').length)%7Btxt+=$('.contributorNameID').eq(0).text()+'%5Cn%20';%7Delse%20if($('%23bylineContributor').length)%7Btxt+=$('%23bylineContributor').text()+'%5Cn%20';%7Delse%7Btxt+=$('.buying').eq(2).children('a').text()+'%5Cn%20';%7Dif($('%23ASIN').length)%7Bsss=$('%23ASIN').attr('value');%7Delse%7Bsss=$('%23asin').attr('value');%7D$('body').append('%3Cdiv%20id=%22mokuji%22%3E%3C/div%3E');$('%23mokuji').load('https://www.amazon.co.jp/dp/toc/'+sss+'%20%23divsinglecolumnminwidth%20.bucket%20.content%20p',function()%7Btxt+=$(this).html().replace(/%3Cp%3E/g,'').replace(/%3C%5C/p%3E/g,'').replace(/%3Cbr%3E/g,'%5Cn%20');$(this).remove();document.body.lastElementChild.remove();window.location='memoflowy://create2send0?text='+encodeURIComponent(txt);%7D);%7D);%7D)();

太字になっているcreate2send0の部分を送りたい仕様に合わせて適宜変更ください。
create2send[0,1,2,3]
新規メモとして送信
省略:送信機能の設定に従う
0:inboxに自動送信
1〜3:送信1〜3の設定で自動送信
となります。上記のブックマークレットはcreate2send0なのでinboxに送信する形になります。

PC用はこちらです。alertで表示されます。

javascript:(function()%7B(function(f,%20s)%7Bs%20=%20document.createElement(%22script%22);s.src%20=%20%22//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js%22;s.onload%20=%20function()%20%7Bf(jQuery.noConflict(true))%7D;document.body.appendChild(s)%7D)(function($)%7Bif($('%23productTitle').length)%7Btxt=$('%23productTitle').text().replace(/%5Cn/g,'')+'%20';%7Delse%20if($('%23title').length)%7Btxt=$('%23title').text().replace(/%5Cn/g,'')+'%20';%7Delse%7Btxt=$('%23btAsinTitle').html().replace(/%3Cspan.*?%3C%5C/span%3E/g,'').replace(/%5Cn/g,'')+'%20';%7Dif($('.contributorNameID').length)%7Btxt+=$('.contributorNameID').eq(0).text()+'%5Cn%20';%7Delse%20if($('%23bylineContributor').length)%7Btxt+=$('%23bylineContributor').text()+'%5Cn%20';%7Delse%7Btxt+=$('.buying').eq(2).children('a').text()+'%5Cn%20';%7Dif($('%23ASIN').length)%7Bsss=$('%23ASIN').attr('value');%7Delse%7Bsss=$('%23asin').attr('value');%7D$('body').append('%3Cdiv%20id=%22mokuji%22%3E%3C/div%3E');$('%23mokuji').load('https://www.amazon.co.jp/dp/toc/'+sss+'%20%23divsinglecolumnminwidth%20.bucket%20.content%20p',function()%7Btxt+=$(this).html().replace(/%3Cp%3E/g,'').replace(/%3C%5C/p%3E/g,'').replace(/%3Cbr%3E/g,'%5Cn%20');$(this).remove();document.body.lastElementChild.remove();alert(txt);%7D);%7D);%7D)();

※このページの内容は以上です。「サポート」歓迎しております。いただいたサポートはツールのメンテナンスや要望追加の費用や開発モチベーションに当てさせていただきます。


この記事が気に入ったらサポートをしてみませんか?