Skip to content

Instantly share code, notes, and snippets.

@aaronshaf
Last active February 25, 2024 18:56
Show Gist options
  • Star 57 You must be signed in to star a gist
  • Fork 14 You must be signed in to fork a gist
  • Save aaronshaf/1346968 to your computer and use it in GitHub Desktop.
Save aaronshaf/1346968 to your computer and use it in GitHub Desktop.
Copy text from Amazon's Cloud Reader. Helpful for students that need block quotes.
javascript: (function () {
new_window = window.open();
new_window.document.body.innerHTML = $("iframe")
.contents()
.find("iframe")
.contents()
.find("body")
.get(1).innerHTML;
new_window.document.body.querySelector("#content-overlays").remove();
})();
javascript:(function(){new_window=window.open();new_window.document.body.innerHTML=$("iframe").contents().find("iframe").contents().find("body").get(1).innerHTML;new_window.document.body.querySelector("#content-overlays").remove();})();
javascript: (function () {
document.body.innerHTML = $("iframe")
.contents()
.find("iframe")
.contents()
.find("body")
.get(1).innerHTML;
document.body.querySelector("#content-overlays").remove();
document.head.querySelectorAll("link[type]").item(0).remove();
Array.from(document.querySelectorAll("span.k4w")).forEach((span) => {
span.outerHTML = span.textContent;
});
})();
javascript:(function () { document.body.innerHTML = $("iframe") .contents() .find("iframe") .contents() .find("body") .get(1).innerHTML; document.body.querySelector("#content-overlays").remove(); document.head.querySelectorAll('link[type]').item(0).remove(); Array.from(document.querySelectorAll('span.k4w')).forEach((span) => { span.outerHTML = span.textContent }); })();
@mattdimicelli
Copy link

I made a bookmarklet version: https://gist.github.com/Neurogami/cc4a2224632f491c18cfce782cd706f6

Thank you, this is awesome!

@DimaAxm
Copy link

DimaAxm commented Jun 28, 2021

Don't work today. Can you help?

@mrkuramoto
Copy link

I have tried all the tips and no one worked. Problems with "inner.HTML" or "nothing happened".... Can you help?

@bh-schmidt
Copy link

It seems it doesn't work anymore 😢

@catdadcode
Copy link

They got smarter.
image
I've been able to write a script for copying text from kindle cloud reader for years. Every time they'd just bury the text sneakier and sneakier but if it was in the DOM then you'd get to it eventually. Now they're rendering all the text out as images. They finally stumped me lol. I haven't dabbled with image to text before but regardless it seems like the days of the humble javascript bookmark might be postponed indefinitely.

@benjaminbauer
Copy link

@crisdias
Copy link

crisdias commented Jan 3, 2023

If you are on Windows you can try Power Toys' Text Extractor, using win-shift-T. (it handles line breaks poorly, but…)

https://learn.microsoft.com/en-us/windows/powertoys/text-extractor

@rahulbansal16
Copy link

Is there a way to fetch all the highlighted/annotated text?
I found an API that https://read.amazon.com/service/mobile/reader/getAnnotations that can fetch all the annotations but it trims the text.

annotations": [ { "action": null, "asin": "B00KHX0II4", "context": "WHENEVER I INTERVIEW someone for a job, I like to ask this question: “What important truth do very few", "deviceType": null, "dsn": "A2CTZ977SKFQZY00A1DMFVGPSDC5D6", "end": 2804, "guid": "CR!PHRBPX0FRX5Q335QZ3CR3J4D92EC", "highlightColor": null, "isSample": null, "modifiedTimestamp": 1527091882000, "note": null, "position": 2648, "positionType": "Mobi7", "start": 2648, "type": "kindle.highlight" }]

There is a context field that returns the annotated/highlighted text but it trims the text. It does not show the complete text.
Is there a way to fetch the highlights/annotated in realtime?

@ongnxco
Copy link

ongnxco commented Feb 25, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment