Skip to content

chengMQ/1glimpse

Repository files navigation

1glimpse

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)、 推酷-文章、优酷


Usage

运行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端暂时没有必要上线。所以需要一个稳定服务器,在规则里也要写好抓取周期。离线版的可以自定义抓取周期
.

About

1glimpse Demo. 已废弃,不弄了

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages