#atom-feed #blog #archive #replay #scrape

app blog-replay

一个将博客存档回放为Atom订阅源的工具

3个版本

0.1.5 2022年11月27日
0.1.4 2022年6月24日
0.1.3 2022年4月5日

#14 in #atom-feed

MIT许可证

35KB
646 代码行

blog-replay

一个将博客存档回放为Atom订阅源的小工具。用Rust编写。

blog-replay从指定的博客抓取文章并将其存储在本地Sled数据库中。然后可以逐步将这些文章回放到Atom订阅源中,该订阅源可以托管在网站上或由本地订阅源阅读器消费。

免责声明

这是一个学习项目。它缺少一些功能。由于我不了解Rust的最佳实践,可能存在一些愚蠢的决定。然而,它解决了我长期以来的一个痛点,并希望它对其他人也有用。

安装

blog-replay可以使用cargonix进行安装。

用法

配置

目前,blog-replay只能抓取Blogger博客。要与Blogger的API交互,需要一个Google API密钥。请参阅Google Cloud文档中的创建API密钥。创建密钥后,您可以将密钥存储在位于~/.config/blog-replay/blog-replay.tomlblog-replay配置文件中。例如

blogger_api_key = 'SOME_API_KEY_STRING'
feed_path = '/path/to/generated/feeds'
feed_url_base = 'URL_PREFIX_FOR_HOSTED_FEEDS'
max_retries = 5
max_entries = 20  # optional, max entries per generated feed. Defaults is unlimited

抓取

要将博客存档抓取到本地存储,请运行

blog-replay scrape<URL>

由于避免被Blogger的服务器阻止,此操作可能很慢。

订阅源生成

要为所有抓取的博客生成或更新订阅源,请运行

blog-replay generate

此命令将每个本地数据库中存储的博客的最老条目添加到相应的Atom文件中。此命令应通过cron或systemd定期运行。

依赖关系

~16–30MB
~517K SLoC