北京虽然没有雪,但是有冰啊!(内附偷拍冰地美女翘福利+正经福利)

2018-02-03 20:17:12 +08:00
 safedogcc

前言

就在写完上一篇帖子 [下一栈 - 也许会重新定义你的阅读方式] ,我合上了笔记本,装进了书包,挤进了地铁,走出了这一个有点冰冷,又有点热闹的公园。

附上几张"摄影"作品:

在这里看到了好多拿着相机在冰面上等候日落的人们,有情侣,有父女,当然也有像我一样的单身狗,在冰面上滑动着,拍着一张张不同角度的美景。

记忆比较深的有一个大爷,在冰面上爬起来之后很兴奋地对我说,嘿你看,刚刚我拍的那张可好看了!冰块晶莹剔透的!

当然,还有一张我也记忆很深刻的 - 福利照片,嗯。。 有点不雅观(虽然我也这么操作过),但是精神可谓,冰冷的大寒天中的一道靓丽风景线!

后语

好了,看到了可敬的美女福利照片,接下来我也弄一个正经福利吧!

上一个帖子/t/428216,是本人今天发布的第一个 APP,叫做下一栈。
你能使用它把你的博客,或者你喜欢的资讯站点,通过简单的配置以及少量的解析代码,就能集成到其中并能用舒适的阅读体验去学习更多知识点。

当然目前功能还是有限,因为本人的精力也有限,一边在编写开发文档,一边再扩展开发者控制台网站,最后还有 APP 新功能的研发以及下边要讲的:栈点的收集添加。

初步使用的用户可能觉得能订阅的栈点很少,所以我在这里给大家一个福利:留下你的博客,我负责给你写出核心解析代码(虽然就几行),让你轻松把自己的网站集成到其中! (仅限今日与明日留言的用户)

但是也并不是立刻就能给你弄出来的哈! 因为,本人后天就放年假回老家啦! 所以会争取利用一些时间去努力完成哒!


来吧!留下贵站,本人亲自打磨探访!

附:微信交流群,欢迎加入!

下一栈,欢迎安装体验!

4738 次点击
所在节点   生活方式
23 条回复
dibage
2018-02-03 20:56:17 +08:00
奇怪,我提交 url 竟然会被 V2EX 封 IP !!
dibage
2018-02-03 20:57:09 +08:00
dibage
2018-02-03 20:58:07 +08:00
ajeef
2018-02-03 21:00:10 +08:00
写图床速度,吓到我了
dibage
2018-02-03 21:00:36 +08:00
排除法排出来了,好奇怪这个 URL 怎么会被违禁了 😂
![]( https://i.loli.net/2018/02/03/5a75b26b7d79e.png)
safedogcc
2018-02-03 22:29:47 +08:00
@dibage #2 经过半个小时的调试与测试,终于把煎蛋的代码调好啦!

这里附上:

解析数据
请求 GET
地址 http://jandan.net/
返回 html

请求头,添加一个`User-Agent`(我是在 pc 站点界面调试的,所获的内容较丰富):
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

最后就是解析代码啦!


``` js
var result = [];
var temp = $HTML.split('<div class="post f list-post">');
temp.shift();

temp.map(function (tmp) {
var title = tmp.split('<h2>')[1].split('>')[1].split('<')[0];
var link = tmp.split('<h2>')[1].split('href="')[1].split('"')[0];
var description = tmp.split('<h2>')[1].split('</div>')[1].split('<')[0].trim();
var avatar;
try{
avatar = tmp.split('src="')[1].split('"')[0];
} catch(e) {
avatar = tmp.split('original="')[1].split('"')[0];
}
// 分类
var category = tmp.split('tag">')[1].split('<')[0];
// 点赞数
var zan = tmp.split('class="zan-icon"')[1].split('<')[0].match(/\d+/)[0];
// 评论数
var comment = tmp.split('comment-link')[1].split('>')[1].split('<')[0];

result.push({
title: title, link: link, description: description, avatar: avatar.startsWith('//') ? 'http:'+avatar:avatar,
category: [category],
tags: [{
icon: 'ios-chatbubbles',
text: comment
}, {
icon: 'ios-thumbs-up',
text: zan
}]
});
});

return result;
```


测试方式:桌面浏览器打开煎蛋网,打开控制台,在输入上边代码执行之前,先模拟以下获取$HTML 数据:

``` js
fetch('http://jiandan.net/').then(ret => rete.text()).then(html => {
$HTML = html;
})
```

获取到$HTML 后,执行上述解析代码,完美~~~

附上预览图片:
https://i.loli.net/2018/02/03/5a75c75062a58.png

祝开发愉快!
safedogcc
2018-02-03 22:36:47 +08:00
@safedogcc #6
注入脚本可以参考如下:
``` js
var style = document.createElement('style');style.innerText='.wechat-hide,#headerwrapper,.shang,.s_related{display:none;}';document.head.appendChild(style);
```

其实就是把部分 css 样式设置了隐藏~~ 哈哈
safedogcc
2018-02-03 23:03:55 +08:00
这次终于调试完毕了,开发只需要 10 分钟,调试修各种 BUG 却要 1 个小时呀。。

煎蛋网已经上架市场,欢迎在 APP->市场中进行添加订阅😄
imgalaxy
2018-02-03 23:08:30 +08:00
求求您们这些爬虫大佬饶了煎蛋这小破站吧
safedogcc
2018-02-03 23:25:26 +08:00
@imgalaxy #9
哈哈~~ [下一栈] 并非采用的爬虫噢!
相反,这种方式会给煎蛋网节省不少宽带支出呢~~

因为每个用户在进入栈点的时候,会由 APP 向目标站点发起一次 HTTP 请求(如果是使用浏览器,那么就可能不止一次咯)

从某种意义上来说,这种节省资源又能增加流量的方式,还是很不错滴~~ 要不体验以下?哈哈
imgalaxy
2018-02-03 23:35:12 +08:00
@safedogcc #10 也节省了不少广告加载的流量
yinshang
2018-02-04 00:02:03 +08:00
这明明是大妈。。
jadec0der
2018-02-04 00:32:52 +08:00
前三张真是焦内如刀锋般锐利,焦外如奶油般化开,毒,德味,大师,学习了
zhaoace
2018-02-04 10:27:45 +08:00
你节省了带宽也顺便把点击流量给节省没了

这么兴高采烈的抓煎蛋的东西。。。
楼主啊好好学习做个东西是对的,这么搞别人就很不好了。。。
uuuu
2018-02-04 11:01:17 +08:00
这是什么地方?
safedogcc
2018-02-04 11:06:28 +08:00
@zhaoace #14 我想你貌似搞错了。。

首先呢,抓煎蛋的东西。。 嗯,因为上边有个 v 友贴了煎蛋的地址,我平时也偶尔逛逛煎蛋,所以也就考虑了以下就给开发进来了。
所以,“抓”这个行为是存在的。。 但是这个“抓“,就跟正常使用浏览器访问煎蛋一样,而并非与其他爬虫时时刻刻地爬取,我的”抓“,只有一次 HTTP 请求,除非用户主动刷新列表或列表信息自动过期~

所以我做的这个栈点,能让目标网站获取到一定的自然流量与忠实用户,你所定义的“搞”我可不太赞同噢~ 😊
safedogcc
2018-02-04 11:07:49 +08:00
@uuuu #15 北京 奥森公园,下午 4。去观景最佳哈~
kunluanbudang
2018-02-04 11:48:58 +08:00
@Livid
疑似广告
unique
2018-02-04 12:05:57 +08:00
safedogcc
2018-02-04 12:20:38 +08:00
@unique #19 博客不错哈~

给调出了核心代码:

``` js
var result = [];
var temp_array = $HTML.split('post-preview">');
temp_array.shift();

temp_array.map(function (tmp) {
var title = tmp.split('post-title">')[1].split('</')[0];
var description = tmp.split('post-excerpt">')[1].split('</')[0];
var link = tmp.split('href="')[1].split('"')[0];
var category = tmp.split('post-tag">')[1].split('<')[0];
var avatar = tmp.split('img src="')[1].split('"')[0];
var date = tmp.split('datetime="')[1].split('"')[0];

result.push({
title: title, description: description,
link: 'https://blog.biezhi.me' + link,
avatar: 'https://blog.biezhi.me' + avatar,
category: [category],
tags: [{
icon: 'ios-calendar',
text: date
}]
});
});

return result;
```

直接在解析配置那 GET 请求你的博客主页,返回数据选择 html,解析代码上述,然后在 APP 的创作上预览试试~~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/428249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX