Python读取印象笔记

技术类的文章都是有时效性的,因为有些工具是不断更新的,也许在不久的将来,我用的这些工具就过时了,读者再也找不到了,本文写于2021年1月5日,使用Python 3.8,Evernote SDK for Python 3。

用Python读写印象笔记可以方便我们做一下个人记录自动化,比如每天自动创建时间记录模板,或者定期整理统计自己的时间记录等。

在这里我写介绍如何用Python读取印象笔记,写入留到以后再介绍。

如果你还没有安装Python,可以到Python官方主页下载并安装最新版本的Python 3。

操作印象笔记需要用到一个工具(SDK),官方的Evernote SDK for Python 只支持Python 2,而目前Python 2已经停止更新。所以,我们使用这个测试版的Evernote SDK for Python 3

另外,你需要一个Dev token,可以到印象笔记开发者模式网页申请一个。具体来说就是,到印象笔记开发者模式,用自己的用户名密码登录,然后点击Create Developer Token。

from evernote.api.client import EvernoteClient
from evernote.edam.notestore.ttypes import NoteFilter

token = "put your dev token here"

client = EvernoteClient(token=token, sandbox=False, china=True)

noteStore = client.get_note_store()

notebooks = noteStore.listNotebooks()

for notebook in notebooks:
  if "刷题总结" in notebook.name:
    guid = notebook.guid

notebook = noteStore.getNotebook(token, guid)

filter = NoteFilter(notebookGuid=guid)

noteList = noteStore.findNotes(filter, 0, 1)

totalNotes = noteList.totalNotes

offset = 0
maxNotes = 100;
while offset < totalNotes:
  noteList = noteStore.findNotes(filter, offset, maxNotes)
  numNotes = len(noteList.notes)
  endNote = offset + numNotes

  print(f"第{offset}至{endNote-1}个笔记:")
  for i in range(numNotes):
    print(f"{offset + i}: {noteList.notes[i].title}")

  offset = offset + numNotes

推荐阅读更多精彩内容