Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/howie6879/liuli
一站式构建多源、干净、个性化的阅读环境(Build a multi-source, clean and personalized reading environment in one stop.)
https://github.com/howie6879/liuli
liuli notes novel wechat
Last synced: 2 days ago
JSON representation
一站式构建多源、干净、个性化的阅读环境(Build a multi-source, clean and personalized reading environment in one stop.)
- Host: GitHub
- URL: https://github.com/howie6879/liuli
- Owner: howie6879
- License: apache-2.0
- Created: 2021-04-07T01:12:32.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-25T04:33:12.000Z (over 1 year ago)
- Last Synced: 2024-12-02T18:58:38.255Z (11 days ago)
- Topics: liuli, notes, novel, wechat
- Language: Python
- Homepage: https://liuli.io
- Size: 2.59 MB
- Stars: 890
- Watchers: 9
- Forks: 108
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - howie6879/liuli - 一站式构建多源、干净、个性化的阅读环境(Build a multi-source, clean and personalized reading environment in one stop.) (Python)
README
Liuli
📖 一站式构建多源、干净、个性化的阅读环境
琉璃开净界,薜荔启禅关
## ✨ 特性
使用`Liuli`,你可以得到:
- [x] 配置化开发,自定义输入、处理、输出
- [x] 信息备份(支持跨源): Github, MongoDB
- [ ] 机器学习赋能:验证码识别、广告分类、智能标签
- [ ] 阅读源管控,构建知识管理平台
- [x] 官方案例技术支持使用场景:
- [ ] 目标监控
- [x] 公众号:
- [x] **广告问题**:[打造一个干净且个性化的公众号阅读环境](https://mp.weixin.qq.com/s/NKnTiLixjB9h8fSd7Gq8lw)
- [x] **RSS订阅问题**:[基于Liuli构建纯净的RSS公众号信息流](https://mp.weixin.qq.com/s/rxoq97YodwtAdTqKntuwMA)
- [x] 书籍(小说)追更订阅:[基于Liuli追更&阅读小说](https://mp.weixin.qq.com/s/RSVZFxiq8G7a51te4q93gQ)## 🍥 使用
教程[使用前必读]:
- [01.使用教程](./docs/01.使用教程.md)
- [02.环境变量](./docs/02.环境变量.md)
- [03.分发器配置](./docs/03.分发器配置.md)
- [04.备份器配置](./docs/04.备份器配置.md)快速开始,请先确保安装`Docker`:
```shell
mkdir liuli && cd liuli
# 数据库目录
mkdir mongodb_data
# 任务配置目录
mkdir liuli_config
wget -O liuli_config/default.json https://raw.githubusercontent.com/howie6879/liuli/main/liuli_config/default.json
# 配置 pro.env 具体查看 doc/02.环境变量.md
vim pro.env
# 下载 docker-compose
wget https://raw.githubusercontent.com/howie6879/liuli/main/docker-compose.yaml
# 启动
docker-compose up -d
```代码安装使用过程如下:
```shell
# 确保有Python3.7+环境
git clone https://github.com/liuli-io/liuli.git --depth=1
cd liuli# 创建基础环境
pipenv install --python={your_python3.7+_path} --dev --skip-lock
# 配置.env 具体查看 doc/02.环境变量.md 启动调度
pipenv run dev_schedule
```启动成功日志如下:
```shell
Loading .env environment variables...
[2021:12:23 23:08:35] INFO Liuli Schedule started successfully :)
[2021:12:23 23:08:35] INFO Liuli Schedule time: 00:00 06:00
[2021:12:23 23:09:36] INFO Liuli playwright 匹配公众号 老胡的储物柜(howie_locker) 成功! 正在提取最新文章: 我的周刊(第018期)
[2021:12:23 23:09:39] INFO Liuli 公众号文章持久化成功! 👉 老胡的储物柜
[2021:12:23 23:09:40] INFO Liuli 🤗 微信公众号文章更新完毕(1/1)
```推送效果如图:
## 🤔 实现
大概流程如下:
简单解释一下:
- **采集器**:监控各自关注的公众号、书籍或者博客源等自定义阅读源,以统一标准格式流入`Liuli`作为输入源;
- **处理器**:对目标内容进行自定义处理,如基于历史广告数据,利用机器学习实现一个广告分类器自动打标签,或者引入钩子函数在相关节点执行等;
- **分发器**:依靠接口层进行数据请求&响应,为使用者提供个性化配置,然后根据配置自动进行分发,将干净的文章流向微信、钉钉、TG、RSS客户端甚至自建网站;
- **备份器**:将处理后的文章进行备份,如持久化到数据库或者GitHub等。这样做就实现了干净阅读环境的构建,衍生一下,基于获取的数据,可做的事情有很多,大家不妨发散一下思路。
开发进度看板:
- [x] [v0.2.0](https://github.com/liuli-io/liuli/projects/1): 实现基础功能,保证常规场景解决方案可应用
- [ ] [v0.3.0](https://github.com/liuli-io/liuli/projects/2): 实现采集器自定义,用户所见即可采集## 🤖 帮助
为了提升模型的识别准确率,我希望大家能尽力贡献一些广告样本,请看样本文件:[.files/datasets/ads.csv](.files/datasets/ads.csv),我设定格式如下:
| title | url | is_process |
| ------------ | ------------ | ---------- |
| 广告文章标题 | 广告文章连接 | 0 |字段说明:
- title:文章标题
- url:文章链接,如果微信文章想、请先验证是否失效
- is_process:表示是否进行样本处理,默认填`0`即可来个实例:
一般广告会重复在多个公众号投放,填写的时候麻烦查一下是否存在此条记录,希望大家能一起合力贡献,亲,来个 [PR](https://github.com/howie6879/liuli/issues/4) 贡献你的力量吧!
## 👀 致谢
感谢以下开源项目:
- [Flask](https://github.com/pallets/flask): web框架
- [Vue](https://github.com/vuejs/core): 渐进式JavaScript框架
- [Ruia](https://github.com/howie6879/ruia): 异步爬虫框架(自研自用)
- [playwright](https://github.com/microsoft/playwright): 使用浏览器进行数据抓取以上仅列出比较核心的开源依赖,更多第三方依赖请见[Pipfile](./Pipfile)文件。
您任何PR都是对`Liuli`项目的大力支持,非常感谢以下开发者的贡献(排名不分先后):
## 👉 关于
欢迎一起交流(关注入群):