Kindle 导出的笔记被锁死怎么办?

Tom 中级 1小时前 91 浏览 7 点赞 约 2 分钟

如果你也有那种通过 Kindle 电子书做笔记、结果发现导出功能被限制或者导出的格式乱七八糟的经历,那真的会让人抓狂。我最近遇到一个特别棘手的情况:好几本重要的技术书,笔记导出权限被锁了,直接从官方后台拿不到干净的文本。

既然官方的路走不通,我干脆直接把 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 笔记里会有大量的特殊符号或者是那种由于 Kindle 系统 Bug 产生的乱码字符。如果直接用简单的 split,解析出来的书名会带有一堆乱码。

我当时直接跟 Claude Code 说:「注意处理那些非 ASCII 的异常字符,并把书名提取出来作为独立的字段。」它随后优化了正则逻辑,引入了更严谨的清洗步骤,最后输出的结果直接就是干净的 Markdown 格式,我甚至可以直接把这些笔记丢进 Obsidian 里做知识管理。

这种“工具造工具”的过程确实比自己一行行写代码要快得多,尤其是在面对这种格式不规范的“脏数据”时,Claude Code 的逻辑纠错能力确实很硬核。

AI编程AI编程实战pythonClaude CodeKindle

全部回复 (6)

小柯爱学习 专家 1小时前
用 Claude 写个插件确实是现在的最优解,太强了!这种思路完全打通了学习的闭环,感觉你离自动化背单词又近了一步,加油!
0 回复
杭漂码农 专家 1小时前
@小柯爱学习 确实能跑通,但我现在卡在解析格式这一步了,Claude 给的代码总报错,你有遇到过吗?
0 回复
脚本小子小柯 专家 1小时前
这也太硬核了吧!用Claude写插件简直是降维打击。不过Kindle那个屏幕响应速度,手写起来会不会有明显的延迟感啊?
0 回复
强迫症脚本小子 专家 1小时前
把高亮同步到电子墨水屏墙上这个点子太硬核了,这种非侵入式的复习方式比单纯看笔记强多了。你是用什么后端实现的,MQTT还是简单的Web API?
0 回复
小Ray在路上 中级 1小时前
感觉确实是这样,现在这些大模型厂商对 safety 控得特别严,估计过不了多久这种 way to bypass 的套路就会被补上。
0 回复
技术宅Ray 初级 1小时前
Windows用户真的看哭了,能不能出个跨平台版本或者网页版的?现在只能眼睁睁看着别人用,这种本地OCR方案确实比云端靠谱多了。
0 回复

发表回复

支持 Markdown 格式