http://clericpy.github.io/1glimpse/
注:所有代码只是学习使用,如有侵权,请在issue留言
- 2015年9月20日 14:24:33
当前订阅列表:36kr-首页 | 36kr-NEXT | 小众软件(RSS) | 站长之家-首页推荐 | 干货集中营 | 虎嗅网-看点 | 异次元软件世界(RSS) | 煎蛋-首页 | 酱知-每日一蘸 | 开眼-每日精选 | 80s-热门电影 | 好东西传送门-python日报 | 推酷-文章 | 优酷-热门
2015年11月15日 22:56:48 所有requests请求都用torequests包装,提升性能。
pip install torequests
2015年11月15日 22:56:29 gank.io下线,以后用接口抓
2015年11月11日 20:55:48 删除快科技,太啰嗦
2015年10月11日 01:57:32 难得放假,收录快科技
2015年10月1日 02:10:31 添加刷新更换背景图js代码,以后不看纯色背景了……我有够无聊
2015年9月27日 20:13:06 热烈欢迎‘推酷’回归
2015年9月27日 18:17:02 大范围清理非当日最新资讯,部分更新较慢的热门频道则放宽范围
2015年9月26日 23:48:12 增加移动端页面展示
2015年9月26日 22:26:08 收录煎蛋
2015年9月26日 17:29:58 收录36kr-NEXT
2015年9月25日 00:09:40 最喜欢的推酷因为DDOS被下线了,36kr规则更新
2015年9月21日 21:50:50 给列表页的页首添加锚点链接和回到顶部按钮
2015年9月20日 01:05:37 收录开眼-每日精选
2015年9月19日 22:59:03 收录酱知-每日一蘸
2015年9月15日 00:52:43 收录我一直想看的干货集中营
2015年9月13日 03:26:10 收录36kr
2015年9月12日 21:06:51 收录虎嗅网-看点
2015年9月12日 20:25:31 收录80s-热门电影
2015年9月10日 00:57:09 收录 小众软件(RSS)、 异次元软件世界(RSS)、 推酷-文章、优酷
运行main.py即可多线程抓取数据源并存入网页,因为怕流量太大,所以不下载图片以及留下历史存量
rules.py存放的是规则函数,轮子在main里,所以是自动加载所有以pyld_开头的函数名,并自动统计各项参数
rules.py可单独使用,输出是列表形式,现在只是前期试验阶段,注释没有写全
pyld.py是平时测试用的,没有实际意义
###待完成功能
赶快把RULE搭配好,尽快多放几个有价值的应用,但是也要考虑到同时打开图片过多的问题。
准备做个客户端项目采集当日(或某日)的日报,然后按sitename进行过滤,只浏览自己想看的内容,并且客户端要添加 根据快递号码监视快递进程 的功能。
以一个既定轮子为主程序(main.py),以update.py更新rules与重新选择channel。
借助抽取正文模块或手动抽取实现选中文章来开启一览模式,即所有选中文章在同一页中展示,并给出原始链接。
更新Python3.5后使用协程代替多线程
根据多家新闻聚合类网站统计包含权重的资讯信息重要程度计算,尝试“一瞥头条”,话说“一瞥”这名字真难听
汇总过去的博客、为知笔记,创建“好文存档”栏目,存放过去看过极其难忘的好文章或视频,这名字也真够土的
暂时没有打算做APP端、邮箱订阅、RSS订阅、数据库存量,虽然都不是太难,还是尽快搞个服务器把详情页抽取放入数据库的好,并支持通过参数选择频道
因为早就想做个简易RSS,之后使用了下豌豆荚一览这款APP,感觉想法还不错,内容消费的今天,将详情页采集下来去噪/去广告以后可读性好的不得了,让人想起kindle使用的
readability那个模块(也是火狐的ireader插件),但是使用过程中感觉还是有不少地方不顺手,所以就尝试继续做这样一个名叫一瞥的玩意自用。其实RSS聚合类工具应该不少,但是各种不顺的感觉。
- 可定制性强一点
- 想在电脑上用啊
- 不用加载不想看的详情页,只展示列表页,详情页自己点开,就不用纠结详情页的渲染问题,并且极为省流量
- 不局限于APP,还是RSS为主
- 暂时没打算在服务器上跑,所以不考虑太完善的跨平台
- 只是自己避免忘记编码能力的练习,所以语法和设计上都很粗糙
- 为了兼容和简洁(主要还是省力气……),前端非常难看。。。原生HTML
- 为了省事,所以是以函数驱动的针对每个网站的采集,以后会考虑造轮子+RULE+NOSQL
- 有些APP接口是JSON的,不一定有WEBURL(虽然几乎都有),所以以后考虑准备一个
一览模式,将详情页放入同一个网页中
- 以后会放到服务器上面,因为不抓详情页,流量会非常少,而放到服务器上的时候要考虑抓取周期
- 用数据库保留历史数据,一方面验证历史数据作为断点;另一方面可以进行历史数据分析。等抓取详情页以后考虑doc2vec算法进行FEED归类
- 考虑到抓详情页还要点开看,可以试试
一览模式,即汇总当日所有要看的详情页到一个HTML中 - 前端展示考虑下不使用最简单的HTML,展示好看一些
- kivy写个跨平台客户端
- 写个GUI版的,省的打开浏览器麻烦
- 轮子+RULE+数据库
√:成功 ×:失败 #:暂时舍弃 -:进行中
#####sourceName | channel | starturl | status
36kr 首页 http://36kr.com/ √
36kr NEXT http://www.next.36kr.com/posts √
80s 电影 http://www.80s.cn/ √
CSDN APP/首页 暂无
del.icio.us 待定 https://del.icio.us/
Feedly 待定 http://feedly.com/
Flipboard 待定 https://www.flipboard.cn/
flitto 首页 https://www.flitto.com/content #
FreeBuf 待定 http://www.freebuf.com/
GitHub 待定 https://github.com/
HackNews 首页 https://news.ycombinator.com/
InfoQ 待定 http://www.infoq.com/cn
IT之家 首页 http://www.ithome.com/
OSCHINA Python http://www.oschina.net/translate/tag/python
OSCHINA 首页 http://www.oschina.net/news
Python日报 今日 http://py.memect.com/ √
Reddit 待定 https://www.reddit.com/
Reeder 待定 http://www.reeder.com.tr/
Stack Overflow 待定 http://stackoverflow.com/
Unread 待定 http://supertop.co/unread/
WooYun 待定 http://drops.wooyun.org/
Zaker 待定 http://www.myzaker.com/index.html
伯乐在线 python http://top.jobbole.com/tag/python/
博客园 Python http://www.cnblogs.com/cate/python/
大眼仔 首页 http://www.dayanzai.me/
电脑报 网页版 http://www.icpcw.com/Newspaper/Hot
电脑报 APP 暂无
电影天堂 首页 http://www.dytt8.net/
豆瓣一刻 首页或APP http://moment.douban.com/app/
干货集中营 首页 http://gank.io
公众号 根据公众号 http://weixin.sogou.com/ #
果壳 首页 http://www.guokr.com/
果壳精选 APP 暂无
虎嗅 首页 http://www.huxiu.com/ √
极客头条 首页 http://geek.csdn.net/hotest
煎蛋 首页 http://jandan.net/ √
酱知 每日一蘸 http://www.jiangzhi.la/mryz/history_list.html √
脚本之家 Python http://www.jb51.net/list/list_97_1.htm
今日头条 首页 http://toutiao.com/
开眼 每日精选 http://www.wandoujia.com/eyepetizer/list.html √
快递 单号 http://www.kiees.cn/ #
绿色下载吧 文章 http://www.xiazaiba.com/news/index.html
码农网 资讯 http://www.codeceo.com/article/category/news
蟒周刊 首页 http://weekly.pychina.org/
慕课网 课程 http://www.imooc.com/course/list
慕课网 文章 http://www.imooc.com/article
软件小品 首页 http://www.appcheers.com/
深蓝阅读 待定 http://bluereader.org/
推酷 文章 http://www.tuicool.com/ah/0/0?lang=1 √
小众软件 RSS http://www.appinn.com/ √
一点资讯 首页 http://www.yidianzixun.com/
异次元软件 RSS http://www.iplaysoft.com/ √
站长之家 推荐 http://www.chinaz.com/ √
知乎日报 首页 http://daily.zhihu.com/
>#### ~~~第零版~~~:
>最简单的以每个入口为函数的不可快速扩展版本。即函数驱动的版本,不支持灵活的用户自定义及在线更新rule。
#### ~~~第一版~~~:
>没有历史数据版本,将只抓特定页数,无法自动翻页并抓全。即规则驱动的版本,主体程序不变,但是比较费时间。
- 从github更新下载RULE(若失败则尝试从本地使用旧规则),从本地设置文件获取下载源(可考虑带GUI多选,先展示当前可用RULE,选中更新RULE)。
- 下载器:根据RULE中下载规则设置,若为空则使用默认(所以要先设置好默认值),包含headers(作为字典,必定包含user-agent)、proxies、GET/POST(POST时注意data变量)、302是否自动跳转、是否登录、token/cookies有效期。考虑线程池大小、进度条
- 解析器:根据RULE选定JSON或Xpath,提取title、description(若没有则抽取正文,可考虑readability,后期第二版再考虑)、cover(考虑是否下载)、url。解析失败考虑是发邮件还是修改github上的报错,尽量在报错位置的断点将错误信息汇集起来。
- 展示层:考虑是用表格还是其他方式,尽量不用第三方,只用原生HTML或HTML5
>#### ~~~第二版~~~:
>依然是网址列表形式,cover依然要,暂时不加载详情页,有历史数据来增量抓取,避免漏抓。
#### ~~~第三版~~~:
>包含内容页展示的版本,考虑用pyqt,开始就设定好是使用离线版本(设置好自动清理旧数据或手动选择清理3天内的)还是用内置浏览器现打开
#### ~~~第四版~~~:
>web端上线,因为是资讯汇总只留标题,不会抢占流量应该不会有法律纠纷,APP端暂时没有必要上线。所以需要一个稳定服务器,在规则里也要写好抓取周期。离线版的可以自定义抓取周期
.