java 爬虫框架_究竟有多少好内容,躺在你的知乎收藏夹吃灰?「爬虫生产力」...

I.优质内容躺在收藏夹吃灰,Why?

我很喜欢知乎,这里有大量的优质回答和文章,以及媲美P**nhub的推荐算法。

换句话说,我刷知乎的行为模式简直像个无情的机器。

看到算法推荐的好东西,先粗看一遍就扔到收藏夹里,然后等到要用了(通常是几周后)再回去现翻。

开始时我觉得这样好,我能记住我的收藏夹里有什么东西,要用的时候也能及时找到。可是随着我收藏数量的增加,检索收藏夹的难度越来越大,「复习」收藏夹的频率也越来越低。

1115e4d6e2be6501c3cbc79b210bacad.png

每当我要从垃圾桶般的收藏夹里找东西的时候,我都感觉很头疼,我反思了一下,这能怪我吗?知乎的收藏系统很屑

问题主要体现以下几方面:

1.电脑版收藏夹每页只能显示10个条目,没有搜索功能。

2.手机版收藏夹则是做成了瀑布流显示,没有搜索功能。

3.收藏夹(https://www.zhihu.com/collection/xxx)这个网页平均要4000ms左右才能加载完成,速度很慢。

4.对于我这类用户,使用「收藏」的频率远比使用「点赞」的频率高,而知乎收藏夹偏偏没有更高级的「导出」,「排序」等操作。

收藏系统问题这么多,要怎么办呢?

b2126bb564fb77add3354f234218aa4c.png

II.用爬虫收集收藏内容?HOW?

最近Python频频在我的朋友圈刷屏,用Python提高生产力成了培训机构的有力广告词,这些机构用的最多的案例就是用python爬虫采集数据,辅助决策。

JB公司的调查显示,有81%的开发者不止在工作中使用python,在生活和教育方面python占比也很大。

看起来,用爬虫处理这个生活小问题非常合适,那么本篇文章主要讲的就是python爬虫吗?

a2735d8520ad465a6dd63d0ded097ff9.png

不完全是,我python比较菜,所以本篇「暂时」用java来写收藏夹爬虫,不过原理是类似的,有兴趣的看官也可以拿python重写一下这个爬虫。


正式开始之前..

如果只是想爬取自己的收藏夹,请查看「III.爬取你的收藏夹内容」。

如果想查看爬虫编写的过程,请查看「IV.技术实现」。


III.爬取你的收藏夹内容

在使用我编写的这个爬虫之前,请确保计算机上安装了JDK8或JRE8,你可以通过在搜索栏输入Java来确定自己是否安装了必须的环境。

e3162ad4c28687f74e468b63e3537ea5.png

链接:https://pan.baidu.com/s/1VHEgWVmVmrg4WsQbFUvgmw

提取码:ytbw

爬虫主体Sophy.jar请前往https://github.com/Masonic9/Sophy/releases下载。

操作步骤:

1) 打开你的网页版知乎收藏夹

找到你的收藏夹编号,在这个例子中,我的收藏夹编号为「390150509」

bffb71126e1efe10f8a611fedd86b8b8.png

2) 新建一个文件夹,把下载下来的Sophy.jar放到这个文件夹里。

53c7de0a609e2adef3b7b4c061976391.png

3) 在这个文件夹的空白处按「Shift+右键」,找到右键菜单的「在此处打开PowerShell窗口」或「在此处打开命令提示符(CMD)」。

在新打开的CMD或Powershell中输入

Sophy.jar mine 

在我这个例子中,我应该输入

java -jar .Sophy.jar mine 390150509

按下回车,稍等一会(1-∞分钟不等,取决于你的收藏夹页数)。

769af4e0e826bf347852fff3634bda9d.png

4) 爬虫爬取结束后,在你的文件夹里会出现一个.csv文件,使用Excel即可打开查看。

c5da05757ae4f28f97790ec916657d00.png

剩下的工作就可以交给Excel了,「搜索」,「排序」,「统计」,甚至「绘图」,对于这些数据,你可以用强悍的Excel胡作非为。

063d77f19806c2aedbb2b17fdeed3b8b.png

PS: 可能遇到的错误

  • 爬不到内容
    • 请检查你的收藏夹状态是否设为「私密」
  • CMD提示「找不到文件」
    • 你的电脑可能没有安装JDK,或者环境变量设置有误,请查询「JDK/JRE 环境变量设置」

IV.技术实现

1 ) 分析页面

用浏览器自带的「源代码查看器」(快捷键通常是F12)的Network项,你可以观察本地浏览器和远程服务器偷偷摸摸传输的数据。

知乎发来的数据包包含的是已经「渲染过的」收藏夹内容,要处理这种数据,只能在源代码里匹配HTML节点。

d4beb81e7483ccd367b7ad7bbe5344d4.png

2 ) 框架简介

这个爬虫使用了WebCollector这一框架,特点是非常容易上手。

WebCollector​github.com

看一下WebCollector的Demo示例,即可快速掌握这一框架。

3 ) 思路

没什么思路,这个爬虫结构很简单,爬就完了

V. 一点点感想

如果用一下「麦肯锡空雨伞法」分析知乎收藏这件事,大概是这样的

1) 很多提供干货的高赞答主,常常吐槽「收藏是点赞的十倍」「别光收藏,多点点赞啊」。

1ede8f5e92394563cf3093e7b2a69b85.png

2) 知乎最近才把用户的「收藏」行为展示在动态里,之前是只显示点赞。

f5aa5c8424be47e68b60ec0462d9c966.png

3 )在12-16年这段时间,有许多的关注收藏夹的优秀内容,而现在很少见到了

e313c399ceb114dd8adbe648694b9481.png

1) 知乎的收藏夹页面使用的UI是旧版的,收藏夹推荐功能的内容也很陈旧。知乎最近做的Live,付费咨询,带货都是为了盈利,反而对这些增强用户体验的系统不太上心。

2) 知乎用户的行为中,「收藏」行为可能比「点赞」还要多,收藏夹的创建和维护者们本身就是最强的内容筛选系统。

3) 现行的推荐算法都会刻意迎合用户的点击趋势,导致视野越来越小,这一现象在一本书中总结(其实是预测)的很好:

过量的信息与有限的注意力之间的矛盾不可调和,于是我们会不断缩小自己关注的领域,以确保头脑不因信息过载而“死机”。久而久之,亿万网民就会变得只关注自己感兴趣的信息,分化成无数个拥有共同爱好的小圈子。大数据技术又会统计出各个用户平时浏览最多的信息,然后让新媒体平台精准地推送他们最关注的内容

用深度学习来推荐内容已经相当普遍了,但是我觉得目前知乎算法学会更多的是「什么东西用户想看」,而不是「什么东西对用户有好处」。

发掘收藏夹数据,把收藏夹创建者当成推荐系统工具人,在这一方向上建议加 大 力 度。

总结

本篇文章是「Sophy」项目链条的第一部分,后续还有更多新鲜干货。

063d77f19806c2aedbb2b17fdeed3b8b.png

By Masonic

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值