通过这篇文章,我想和你分享,
1)我的思考过程
2)我的完整爬虫过程
文末附微信公众号文章下载工具
1.
为什么我能够把这件事做成?
其实是因为做对了两个维度的努力
1)做对的事情
2)把事情做对
这两个维度本质上是一个关于面积的计算:
把事做成=做对的事情 x 把事情做对
我相信这些小伙伴一定没好好学过概率论,因为假如一件事情成功的概率是20%,只要能持续重复14次,就可以把这件事情成功的概率提高到95%。
推导过程如下:
做一次失败的概率为:1-20%=80%=0.8
重复做n次至少有一次成功的概率是95%,就相当于重复做n次每一次都不成功的概率是5%,
重复做n次都不成功:80%^n=1-95%=5%=0.05
n=log(0.8,0.05)=13.42
所以重复做13.42次,你成功的概率能达到95%。
所以正确事情重复做,大概率是会成功的。
下面就来和你分享一下我的解题过程:
所以正确事情重复做,大概率是会成功的。
问题是落差,是理想结果与现状之间的落差。
我的理想结果:导出竞品账号公众号的历史数据,这里的数据需要包含「标题」、「文章链接」、「阅读数」、「点赞数」、「在看数」。我的现状:并不清楚如何导出这些数据。
第二步,寻找对策
生活中我们所遇到的所有问题都可以囊括成两类问题,一类问题是你见过类似的,但是以前的解决方法无效。一类问题是你从来没有遇见过的,摸不着头脑,没有经验可循。
如何寻找对策?
我们可以运用系统思维来解决问题。
所谓的系统思维,就是通过构建、选择以及改善模型来帮助我们更加高效地表达和思考的思维方式。
针对这个故事背景,构建出来的模型无非两个维度,如果有现成的数据就直接用别人的数据,如果实在找不到现成的数据,再考虑自己手动爬取。
「1.找现成的数据」
我想到了几个方案,
01 借助壹伴插件导出公众号历史文章
壹伴是可以直接导出个人公众号的历史数据的,但研究发现,它并不支持导出其他公众号的历史数据。
02 借助第三方公众号数据平台
1) 新榜
搜索公众号-点击进入详情页-点击右上角「内容列表」
能查看历史数据,但是仅支持查看最近7天内的推文,显然也不能满足我的需求。
其他相似平台,如清博大数据、西瓜数据都存在相应的局限。
03 某宝付费
淘宝的主流店铺都支持将公众号文章导出为「Word、PDF、HTML格式」,少部分店铺支持导出为Excel格式,价格普遍在4.9元/1000篇左右。
问了几个店铺都不支持导出阅读量等数据,如果你只需要将文章导出为PDF,淘宝付费无疑是很好的选择。
「2.手动爬取数据」
**01 找可以下载公众号文章的软件 **
这里提到的软件,文末会附获取方式
通过查询【公众号文章】、【下载】等关键词,我成功找到了几个可以下载公众号文章的软件。
缺点:软件需要付费,目前会员价格49元/年,获取阅读量、评论数、点赞数、在看数据需要付费调用接口25元/1000次。
如果需要爬取的公众号数量不多,这个方案是可以考虑的。
既然上面的方法都不能完美的满足我的需求,于是我产生了一个大胆的想法,干脆自己手动爬虫。
02手动爬虫
最直接想到的就是用Python进行爬虫,
可是问题在于,我并不会Python呀!
于是又构成了一个新的问题,
1)澄清问题
我的理想结果:借助python爬取公众号数据,数据需要包含「标题」、「文章链接」、「阅读数」、「点赞数」、「在看数」。
我的现状:并不会使用Python进行爬虫
2)寻找对策
我猜测互联网上一定有人用Python爬取过公众号的文章数据,
我需要的并不是从头学习python,
而是从别人的成功案例入手,
研究如何复刻。
综合考虑,最后选择用「Python爬取公众号文章」。
❶ 搜集Python爬取公众号文章的案例
我猜想你比较好奇的是,我是如何搜到这些内容的?
这里先卖个关子,后文揭晓答案。
❷ 安装Python并配置开发环境
这部分内容其实很容易通过B站搜索到相应的教程,配置Python的开发环境以及安装Pycharm大概2个小时内就可以搞定。
❸ 用Fiddler抓包微信接口
1.登录个人微信公众号后台-新的创作-写新图文进入文章编辑页面
使用WIN+R,输入‘cmd',进入个人计算机的dos系统,
输入命令'pip install requests',回车,等候电脑安装requests库。
不懂的可以百度,都有详细说明。
❺ 将网页爬取的「fakied」、「token」、「cookie」、「user-agent」值,以及Fiddler爬取的「Key」、「Pass_ticket」、「appmasg_token」、「cookie」、「User-Agent」值替换进下方代码。
❻ 运行Python,等待爬取结束。
第五步,复盘归档
虽然问题得到了解决,
但还远没结束。
我们还需要进行一次复盘。
复盘的意义在于从过去获得力量,
来帮助我们更好的面对未来。
通过这次活动,
1)我掌握了用Fiddler和Chalers进行抓包的知识;
2)成功的用Python完成了一个小项目,
获得正反馈后以后学习Python更有动力;
3)掌握了下载公众号文章的几种方法(稀缺的技能往往具备高价值);
4)之后如果需要用Python爬取其他内容例如豆瓣的信息,可以如法炮制。
在研究Python爬虫的过程中,
我还探索了另一种解决问题的方案,
采用无代码爬虫的方式。
这些工具并不能解决该场景提到的问题,
所以我没有展开介绍。
但在进行网页爬虫的时候,
反而会比Python来的更便捷。
上面就是我的解题过程,
你可能还有几个问题想问我,
我一并回答。
1)你可能会觉得,这些操作也太浪费时间了吧?
可是,东西贵不贵,不仅取决于价格,还要看你的收益。
看起来,我这一次解决问题的过程,花费了很多时间,但是我的收获却比别人更巨大。
比如我以前爬虫知乎的时候,
用的是「Web Scraper」这款插件,
但是这次我在探索其他爬虫工具的时候,
我发现「后羿采集器」更好用,这就积累了经验。
成甲老师说“如果我们学习是为了提升自己的认知,形成更准确的决策判断力,那么,花时间在构建更系统的知识体系上,就是非常划算的事情。”
2)你可能会问我,“你是如何找到这些软件,以及Python爬取公众号文章的案例的?”
其实是经验的积累,基于经验的学习,
是对每个人而言最基本、最重要的方式。
你搜索的次数多了,
自然就会知道哪些渠道容易找到好东西。
你每次搜索资料的时候10分钟就搜不下去了,
我却要搜2个小时,你说谁更容易精进搜索技能?
第一类,经验技巧型的策略往往源自个人有限的经验总结,
而第二类方法流程型的思维模型往往来自更大样本的归纳提炼,
第三类的学科原理型源于经过科学方法验证的规律,
第四类的哲学视角型是人类理性思辨思考问题的方式。
这四种思考深度没有绝对的高下好坏之分,而是有各自的使用场景。
——《好好思考》
经过这次爬虫探索,
我掌握了很多新的技巧和方法,
这都会变成我的个人经验。
但是我把它梳理成一篇文章,
或者绘制成一张流程图这就变成了方法流程,
我可以用这套方法解决更多相似的问题。
对我而言它又属于零边际成本的产品,
所以我可以无限售卖,让它变成我的杠杆。