_posts_old 2026/4/14

how-to-learn-nodejs-weixun

阅读时长 3 分钟

title: 如何学习nodejs之API数据“福利”

github上新建了一个repository(how-to-learn-nodejs),这个是我学习nodejs的一些杂乱记忆。参考了很多不错的nodejs教程,平时练习时提交一些随笔代码。

本文主要是通过分析微博与tumblr的相册接口,直接从接口拿去数据,这个应该是爬虫的一个新思路,对于WEB发展的一个趋势。更多的时候我们需要将数据提供给多种设备终端使用,于是restful规范的api数据接口应用,前端VM框层出不穷。我也学习到这样一句话”及时学习感兴趣的前端新知识,要不然它可能就过时了“,正所谓,一入前端深似海。(还好我不是前端,哈哈哈)

此地无淫三百两

一天工作空隙的时候浏览了微博相册,search了一下关键字“美女”,看到部分游走在边缘的图片,不舍的点击了一下角落的小叉,站起身,去上了个厕所。回来后我一直在想,要如何自在的看看妹子图呢?要如何与大家分享呢?毕竟平时大家主动去看微博相册的时候还是蛮少的,微熏就开始了。(前面的文字都是为了制造氛围随意写的,你可以继续意xia淫xiang)

分析微博相册图片数据

微博相册,在这之前我们从网上搜索到的最多的爬虫教程,应该就是抓取网页,然后从杂乱的代码中找寻到自己想要的数据,其实,这也是没有办法的办法,但这里提供一个新的思路。有一些WEB应用开始为了兼容,优化,首屏在服务端渲染,后续内容直接通过数据接口提供json格式数据,然后前端来渲染到界面中。微博相册的部分功能就是通过这样的方法来做的,于是分析相册数据就容易了很多。

搜索功能

GET:   http://photo.weibo.com/tags/get_photos_by_tag_name

QueryStringParam:
tag=%E7%BE%8E%E5%A5%B3 #关键词”美女“
count=20 #一次请求获取的美女数量-这里可以让它一次释放更多美女
page=1 #页码
type=best #精选美女
__rnd=1450877719588 #时间戳+随机数

对于请求地址与参数的分析如上,这个请求会获得20个(可以一次获得更多)精选妹子图,但是这个接口的数据很久没有更新了,也许是算法使然,也许是没有足够利用相册。不在其位,我不知啊。(这样一来其实可以拿去到数据后根据自己的算法来做一个排序,对于发布图片的太多是摄像师,对于摄像师可以做推荐等等相关的事情很多都可以做的,微博要是好好利用,我觉得这里还是可以利用利用,如果觉得我的想法还是要得,不妨右下角点赞亦或者是小额打赏)。

GET:
http://photo.weibo.com/tags/get_tag_hot_photos

QueryStringParam: #描述同上
tag=%E7%BE%8E%E5%A5%B3
count=20
page=1
__rnd=1450878580272

眨眼一看,这个接口虽然说的是获取热门图,但是数据基本上是同上接口,具体就不想多说了,出来的都是一样的妹子图。

GET:
http://photo.weibo.com/tags/get_photos_by_tag_name

QueryStringParam: #同接口一,参数略有差异
tag=%E7%BE%8E%E5%A5%B3
count=20
page=2
rid=98122590 #上一次请求返回的参数,应该是最后一张图的唯一标识,第一次请求可以忽略
__rnd=1450878849518

这个接口蛮不错的,隔一段时间就会更新一些新的妹子出来,但是数据的质量并不一定就是那么高,应该也是他们筛选算法使然,就需要再过滤过滤了,但对于新传的参数不多,这个真不好处理,我是能力不够的,见谅。

这里差不多就这样可以拿到不少妹子图了,但是不够禁(劲)播(爆)有没有?于是想到了一个比较劲爆的网站继续来分析分析。

更多接口后面继续分析(模拟登录,专辑创建)

tumblr数据接口

入口还是搜索页面,除了这个,tumblr和weibo一样其实也有一个开放接口,创建一个应用就可以直接使用,并提供了在线测试接口,只是没有那么方便,有些还是不是很方便使用。搭配上search的接口来处理就方便太多太多了。 国内大部分网站还是http协议的,不过也看到不少朋友分享切换为https协议的经历。对于http协议我不是很懂,双十二图灵搞活动才入手了一本http权威指南,希望可以弥补弥补基础知识。

话归tumblr search

tumblr search会根据ua返回不同的数据类型,