构建一个多源(公众号、RSS)、干净、个性化的阅读环境
作为一名微信公众号的重度用户,公众号一直被我设为汲取知识的地方。随着使用程度的增加,相信大家或多或少会有一个比较头疼的问题——广告问题。
假设你关注的公众号有十来个,若一个公众号两周接一次广告,理论上你会面临二十多次广告,实际上会更多,运气不好的话一天刷下来都是广告也不一定。若你关注了二三十个公众号,那很难避免现阶段公众号环境的广告轰炸。
更可恶的是,大部分的广告,无不是贩卖焦虑,营造消极气氛,实在无法忍受且严重影响我的心情。但有些公众号写的文章又确实不错,那怎么做可以不看广告只看文章呢?如果你在公众号阅读体验下深切感受到对于广告的无奈,那么这个项目就是你需要的。
这就是本项目的产生的原因,构建一个多源(公众号、RSS)、干净、个性化的阅读环境。
PS: 这里声明一点,看广告是对作者的支持,这样一定程度上可以促进作者更好地产出。但我看到喜欢的会直接打赏支持,所以搭便车的言论在我这里站不住脚,谢谢。
实现
我的思路很简单,大概流程如下:
简单解释一下:
- 采集器:监控各自关注的公众号或者博客源,最终构建
Feed
流作为输入源; - 分类器(广告):基于历史广告数据,利用机器学习实现一个广告分类器(可自定义规则),然后给每篇文章自动打上标签再持久化到
MongoDB
; - 分发器:依靠接口层进行数据请求&响应,为使用者提供个性化配置,然后根据配置自动进行分发,将干净的文章流向微信、钉钉、TG甚至自建网站都行。
这样做就实现了干净阅读环境的构建,衍生一下,还可以实现个人知识库的构建,可以做诸如标签管理、图谱构建等,这些都可以在接口层进行实现。
实现详情可参考文章打造一个干净且个性化的公众号阅读环境
使用
本项目使用 pipenv 进行项目管理, 安装使用过程如下:
# 确保有Python3.6+环境 git clone https://github.com/howie6879/2c.git cd 2c # 创建基础环境 pipenv install --python={your_python3.6+_path} --skip-lock --dev # 配置.env 具体查看 doc/00.环境变量.md # 启动 pipenv run dev
使用前建议阅读文档:
效果
帮助
为了提升模型的识别准确率,我希望大家能尽力贡献一些广告样本,请看样本文件:.files/datasets/ads.csv,我设定格式如下:
title | url | is_process |
---|---|---|
广告文章标题 | 广告文章连接 | 0 |
字段说明:
- title:文章标题
- url:文章链接,如果微信文章想、请先验证是否失效
- is_process:表示是否进行样本处理,默认填
0
即可
来个实例:
一般广告会重复在多个公众号投放,填写的时候麻烦查一下是否存在此条记录,真的真的希望大家能一起合力贡献,亲,来个PR贡献你的力量吧!
致谢
感谢CharCNN
论文作者Xiang Zhang, Junbo Zhao, Yann LeCun
,以及相关项目:
感谢以下开发者的贡献(排名不分先后):
关于
欢迎与我交流(关注入群):