ReadingListReader 开源项目教程
1、项目介绍
ReadingListReader 是一个基于 Python 的开源项目,旨在读取和解析 Safari 浏览器的阅读列表(Reading List)。该项目提供了一个简单的接口来读取 Safari 阅读列表的内容,并支持将这些内容导出为 HTML、CSV 格式,或者发送到 Pocket、Instapaper、Pinboard 等第三方服务。
2、项目快速启动
安装
首先,确保你已经安装了 Python 2.7 或更高版本。然后,克隆项目仓库并安装所需的依赖库:
git clone https://github.com/anoved/ReadingListReader.git
cd ReadingListReader
pip install -r requirements.txt
使用示例
以下是一个简单的使用示例,展示如何读取 Safari 阅读列表并输出未读文章的标题和 URL:
from readinglistlib import ReadingListReader
# 初始化 ReadingListReader
rlr = ReadingListReader()
# 读取阅读列表
rl = rlr.read()
# 输出未读文章的标题和 URL
for article in rl:
if article['viewed'] is None:
print(f"Title: {article['title']}, URL: {article['url']}")
3、应用案例和最佳实践
导出到 Pocket
- 在 Pocket 网站上新建一个私人应用,并保存得到的 Consumer Key。
- 编辑项目中的
readinglist2pocket.py
文件,填入该 Consumer Key。 - 在终端运行以下命令,将阅读列表导出到 Pocket:
python readinglist2pocket.py
使用 Hazel 监控阅读列表变动
- 安装并配置 Hazel。
- 在 Hazel 中新建一条针对
~/Library/Safari
文件夹的规则,并设定两个匹配条件:- 文件全名为
Bookmarks.plist
- 上次匹配日期早于上次修改日期
- 文件全名为
- 匹配后的动作是运行终端脚本:
python /path/to/script/readinglist2pinboard.py
4、典型生态项目
ReadingListReader 生态项目
- readinglist2html.py: 将阅读列表导出为简单的 HTML 列表。
- readinglist2instapaper.py: 将未读的阅读列表项添加到 Instapaper 队列。
- readinglist2pinboard.py: 将阅读列表项发送到 Pinboard。
这些脚本可以方便地与第三方服务集成,实现自动化管理和导出阅读列表内容。
通过以上教程,您可以快速上手并充分利用 ReadingListReader 项目,实现对 Safari 阅读列表的读取和导出操作。