知乎中学生寻找计划


0x00 为啥要搞这个

今天吃晚饭的时候刷知乎刷到了千赞以上99/00后答主及其高赞回答 一览,最后发现施子怡大大是“人肉搜索”,于是打算借助神秘的程序力量找出一部分。

0x01 构思

知乎不是使用数字id展示个人页面,因此我决定使用通过一个人的关注者来爬,我觉得我们总会关注一些自己同龄人的动向。(因为我就是啊)关于符合要求的人的判断,因为知乎并没有生日的选项(就算有也会有很多人不填写或者填写假的吧),我打算通过找关键字的方法。比如高一|高二|高三|高中学生|00后等等。

打算使用Node.js开发(的确很独特),用队列的形式,引入diskdb这种好玩的数据库。

0x02 环境准备

npm install cheerio request diskdb async

0x03 简单的搞事流程

知乎的用户界面使用了React框架,用户数据都存放在一个id为datadiv里的data-state参数里,提取出这段参数就可以get用户数据了。然后配合cheerio的dom操作,提取出数据。

还有为了节省时间,grab.js里是直接提取出关注者页面的信息,并没有赞、感谢等数据,所以还要getDetail.js帮助把queue这个collection里用户信息保存在list这个collection里。

0x04 执行

npm install
node ./grab.js sohaking
node ./getDetail.js

最后我以用户sohaking(也就是我自己)为起始节点搜寻出378名包含设定关键字的用户。

Result

0x05 其他的

相关源码公布在GitHub:sohaking/zhihu-people-finder

知乎专栏:https://zhuanlan.zhihu.com/p/25092211


由妮哩萌萌引出的杂想


酷安的妮哩萌萌大家应该也都有点了解。酷安小编的推荐语大概意思是:这是个高一的妹子开发者,大家支持一下。实际上她的所谓App,就是一个小工具集合。这没什么好吐槽的,关键就是她引用的都是GitHub上的开源项目,license也都是GPL什么的,但是她并没有遵守license。

这都不是重点,重点是,酷安上有一群人给她洗地,嚣张的嘴脸…没话说。反而好像是妮哩萌萌违反了license还很光荣。更有意思的是这些人都在说:“人家是个高一的妹子,写程序不容易,有什么好喷的?”
一群小学生指责大佬们是小学生。

我在小学的时候搭网站,也做过改版权的事情,后面随着我知识水平的提高,我这种事情也就不会去干了。不过那时候没有人指责我,也没有人袒护我。妮哩萌萌却因为她拥有了一群袒护者,以后会怎么样?

我不评论她的app做得怎么样,可能都是Android入门101,毕竟一个程序员是在成长当中的。我刚涉足Web Dev的时候,做出来的东西真的不能看。我支持妮哩萌萌以后的发展,以后如果她真的成长了,我没准还会邀请她和我一起做项目,但是我不支持你们这样袒护妮哩萌萌的抄袭和不遵守license。

还有那些袒护者,是不是也可以映衬出中国一些民众对于版权意识的轻视呢?

这次事情我说了好几次“贵圈真乱”,我不希望青少年开发者圈子会变得更糟,但是…让它变好更难。

本文同步发布于Immortal.Work:https://immortal.work/p/GjBPncidMnWP75uES


如何优雅地用快捷键锁定macOS


我一直用黑果子,而且机子老,进入睡眠的速度慢,但是又有这么一个要快速锁定屏幕的需求。之前通过网上的教程,一直使用Keychain来锁屏(见下图),但通过点击的方法未免有些慢。今天总算折腾出怎么用快捷键锁屏了。

Screen Shot 2016-12-07 at 4.58.07 PM.png

先啰嗦一句,我的系统是英文的,下面诸如系统偏好设置的中文都是我随口翻译的,别太较真。

进入系统偏好设置-隐私与安全-通用里面,修改某选项为在睡眠和进入省电模式后立即要求密码。

Screen Shot 2016-12-07 at 5.01.26 PM.png

然后按下control+shift+eject(右上角的弹出键或者电源键)就可以检验成果啦!


以手机被没收后的想法来发发牢骚


上周五晚21点50分左右,我打开手机设置完闹钟,刚准备放下,发现旁边站着班主任,我只能把手机上交。因为一些原因,周日我选择了逃学,并没有回校,而是呆在了家里。班主任也许会在班里说是因为我“玩”手机,因此回家一周(这是之前家长会的决议),但是呆在家里是我自己选择的。我是想好好缓一缓,脑子里想法太多,没办法。

一直不认为学校应该全面禁止手机,应该从堵到疏,从禁到限。我相信给信任比完全不信任要好,当然是有那么一部分人控制不住自己,但这个比例很小。把手机带到学校看成如洪水猛兽一般,我觉得这实在是很可笑。其实大部分的学生的需求其实根本不是学校“防止”的那种上课玩、半夜睡觉玩,但是现在的情况就像我妈今天刚和我说的,“这就是是一个定时炸弹”。曾经听到学校某领导说:“我们不可能像职高一样允许学生在学校里使用手机。”,虽然的确是方便管理,但是不见得带手机的人有减少。作为一个学生,我十分清楚这到底是什么情况,每个班肯定至少有12个以上同学带手机,而且查了一部,还有第二部。永远抓不完,永远不会减少。

我们班主任很讨厌我用中午的一个小时去写写程序做做小研究。仿佛我失去了那么一个小时在教室里的时间,我就失去了一本一样。今天我感叹“人太能动也不好啊”,因为班主任说我不是省油的灯。当然不省油啊,我只是想在学校里有个释放自己灵感的时间,在这些传统老师的眼里,我就是在浪费时间,我就是在不务正业。曾经和我关系不错的信息老师也觉得“该好好整整我了”。我曾经举过例子,让我脑子里的想法从周一憋到周六回家,还是周一直接释放出来,这两者哪个更影响我的学习?显然是前者啊。我感觉学校需要让学生当中这些有想法的人有自己表现自己的机会。可惜我校不光是个传统高中,还是个以“专注”为主旋律的学校,想做与学习无关的事情?好啊,你就想想吧!

顺便讲点不搭界的事情,我校“为了体现和美艾中”,不允许食堂打包带出东西吃。连小店买牛奶喝都必须得在小店里解决。这真是一个利校利民的好决策!

本文也同时发布于Immortal.Work: https://immortal.work/p/yMxvXuj3cRa7o2Lj6


自动登录浙江省高校招生考试信息管理系统


刚刚经历了浙江省的2016年10月学考选考,但不知道什么时候出成绩,于是我决定写一个自动查询的脚本。

0x00 准备

首先我打开了http://pgzy.zjzs.net:8011/login.htm ,仔细观察了它的验证码。

pgzy.zjzs.net:8011

看了一下这个验证码的干扰因子很少,应该很方便识别。为了研究,我用wget下载了20个验证码。

// 点开我,里面还有许多内容!