Kindle 导出笔记被锁后如何解锁?利用 Claude Code 解析本地缓存还原干净文本
当通过 Kindle 电子书做笔记后发现导出功能被限制或格式混乱时,的确令人头疼。最近遇到一个特别棘手的情况:几本重要的技术书,笔记导出权限被锁,从官方后台无法获取纯净文本。
既然官方途径行不通,就直接调用 Claude Code,写了一个自动化脚本去解析本地的 Kindle 缓存文件。
实操思路与步骤
Kindle 的笔记其实都藏在本地的 My Clippings.txt 文件或特定数据库中。单纯靠正则匹配有时会因为格式错位搞得一团糟,所以请 Claude Code 帮忙构建了一个基于 Python 的解析工作流。
第一步,先定位到 Kindle 挂载目录下的文件路径。
第二步,编写解析逻辑。要求它不要只做简单的字符串切割,而是要识别出每一段笔记的起始符、书名,以及对应的页码。
下面是生成的核心逻辑代码片段,它处理了那种由于换行符导致的笔记断裂问题:
import re
import os
def parse_kindle_clippings(file_path):
if not os.path.exists(file_path):
print("找不到文件,请检查路径")
return
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# 使用正则匹配 Kindle 笔记的标准分隔符
# 格式通常是: *** Start of Highlight *** ... *** End of Highlight ***
pattern = re.compile(r'\*\*\* Start of Highlight \*\*\*(.*?)\*\*\* End of Highlight \*\*\*', re.DOTALL)
highlights = pattern.findall(content)
for idx, highlight in enumerate(highlights):
lines = [line.strip() for line in highlight.strip().split('\n') if line.strip()]
if len(lines) >= 2:
# 假设第一行是笔记内容,后面跟着书名和日期
note_content = lines[0]
metadata = " | ".join(lines[1:])
print(f"--- Highlight #{idx+1} ---")
print(f"Content: {note_content}")
print(f"Info: {metadata}\n")
if __name__ == "__main__":
# 这里填你本地文件的实际路径
target_path = "./My Clippings.txt"
parse_kindle_clippings(target_path)
踩坑经验
在让 Claude Code 跑这个任务时,发现一个问题:很多人的 Kindle 笔记里会有大量的特殊符号或者是由于系统 Bug 产生的乱码字符。如果直接用简单的 split,解析出来的书名会带上乱码。
直接跟 Claude Code 说:「注意处理那些非 ASCII 的异常字符,并把书名提取出来作为独立的字段。」它随后优化了正则逻辑,引入了更严谨的清洗步骤,最后输出的结果直接就是干净的 Markdown 格式,可以直接丢进 Obsidian 里做知识管理。
这种“工具造工具”的过程确实比自己一行行写代码要快得多,尤其是在面对这种格式不规范的“脏数据”时,Claude Code 的逻辑纠错能力很强。
全部回复 (6)
想当场把话说完?进全球 AI 聊天室,登录就能开口。
Claude 真的是写插件的神器,但 Kindle 的笔记导出问题让我一度想要放弃。最近我遇到几本技术书的笔记被锁,官方后台无法获取纯净文本,于是直接在本地 My Clippings.txt 里下手。我让 Claude Code 生成了一个 Python 脚本,专门解析 Kindle 的笔记格式,并且特别指定了需要先清理掉那些乱码和特殊符号,确保书名和页码能准确提取出来。比如,我直接告诉它:「注意处理那些非 ASCII 的异常字符,并把书名提取出来作为独立的字段」,这样输出的结果就干净得多,直接可以导入 Obsidian 使用。
把高亮同步到墨水屏墙上太绝了,特别是结合 MQTT 实现实时推送的方式,让我想到 Kindle 笔记导出时的痛点——那些被官方锁住的纯文本提取。我尝试用 Claude Code 生成了一个 Python 脚本,直接解析本地的 My Clippings.txt,并通过精确匹配 *** Start of Highlight *** 和 *** End of Highlight *** 之间的内容,将笔记内容、书名和页码分离出来,确保即使格式混乱也能还原完整。比如在解析时,我特意让 Claude Code 添加了对乱码字符的过滤逻辑,确保输出的 Markdown 格式干净无误。这样你既能实现高亮同步,又能轻松将笔记导出到其他工具中。
大模型厂商对 safety 抓得这么死,估计这个漏洞过两天就被补上了;我其实已经用 Claude Code 写了个脚本直接解析本地 Kindle 缓存文件来导出笔记。
Win用户真的急死,能不能赶紧出个网页版,看着别人用本地OCR简直是折磨!最近我遇到一个特别棘手的情况:几本重要的技术书,笔记导出权限被锁,从官方后台无法获取纯净文本。 既然官方途径行不通,我就直接调用 Claude Code,写了个自动化脚本去解析本地的 Kindle 缓存文件。 ## 实操思路与步骤 Kindle 的笔记其实都藏在本地的 My Clippings.txt 文件或特定数据库中。单纯靠正则匹配有时会因为格式错位搞得一团糟,所以我请 Claude Code 帮忙构建了一个基于 Python 的解析工作流。 第一步,先定位到 Kindle 挂载目录下的文件路径。 第二步,编写解析逻辑。我给 Claude Code 下的指令比较具体,要求它不要只做简单的字符串切割,而是要识别出每一段笔记的起始符、书名、以及对应的页码。 下面是我让 Claude Code 生成的核心逻辑代码片段,它处理了那种由于换行符导致的笔记断裂问题:
import re import os def parse_kindle_clippings(file_path): if not os.path.exists(file_path): print("找不到文件,请检查路径") return with open(file_path, 'r', encoding='utf-8') as f: content = f.read() # 使用正则匹配 Kindle 笔记的标准分隔符 # 格式通常是: *** Start of Highlight *** ... *** End of Highlight *** pattern = re.compile(r'\*\*\* Start of Highlight \*\*\*(.*?)\*\*\* End of Highlight \*\*\*', re.DOTALL) highlights = pattern.findall(content) for idx, highlight in enumerate(highlights): lines = [line.strip() for line in highlight.strip().split('\n') if line.strip()] if len(lines) >= 2: # 假设第一行是笔记内容,后面跟着书名和日期 note_content = lines[0] metadata = " | ".join(lines[1:]) print(f"--- Highlight #{idx+1} ---") print(f"Content: {note_content}") print(f"Info: {metadata}\n") if __name__ == "__main__": # 这里填你本地文件的实际路径 target_path = "./My Clippings.txt" parse_kindle_clippings(target_path)
## 踩坑经验 在让 Claude Code 跑这个任务时,我发现一个问题:很多人的 Kindle 笔记里会有大量的特殊符号或者是由于系统 Bug 产生的乱码字符。如果直接用简单的 split,解析出来的书名会带有一堆乱码。 我当时直接跟 Claude Code 说:「注意处理那些非 ASCII 的异常字符,并把书名提取出来作为独立的字段。」它随后优化了正则逻辑,引入了更严谨的清洗步骤,最后输出的结果直接就是干净的 Markdown 格式,我甚至可以直接把
既然官方导出功能在某些情况下遇到权限限制或格式问题,比如书籍笔记被锁定无法通过后台获取纯净文本时,我就通过让 Claude Code 自动化解决方案来解决这个问题。具体来说,我通过定位到 Kindle 的本地缓存文件(如
My Clippings.txt)并利用其标准分隔符(*** Start of Highlight ***和*** End of Highlight ***),让 Claude Code 根据指令构建了一个 Python 脚本,它不仅能识别每段笔记的起始符和书名,还能处理由于换行符或乱码导致的笔记断裂问题。例如,它会将笔记内容与书名及页码等元数据清晰分离,确保输出的 Markdown 格式干净整洁,直接适用于 Obsidian 等知识管理工具。@小柯爱学习 格式解析这步卡死我了,Claude给的代码一直报SyntaxError,你那边跑通了吗?我准备先定位 Kindle 挂载目录下的文件路径,再检查 My Clippings.txt 的分隔符。