小红书数据关键词收罗

分享
开发者 2024-9-6 10:40:01 96 0 来自 中国
1功能形貌

这是一个基于小红书微信小步伐,实现小红书关键词搜刮记录的爬虫。
2效果演示记录

<figcaption style="margin-top: 5px; text-align: center; color: #888; font-size: 14px;">image.png</figcaption>
这是用python做的爬虫步伐。
运行代码,
输入想要搜刮的关键词。
可以爬取5页,每页20条,一共100条对应关键词的条记/视频数据。
ps:这里由于小步伐的限制,最多只能获取5页数据。 临时没有找到更优的办法。
3实现思绪

做这个事的缘故原由

近来研究python爬虫,我本人也在运营小红书,是一个小uper。
在制作自己的图片条记的时间,思考怎么做,才可以劳绩更多的”小眼睛“(观看量),和更多的点赞、收藏、品评的数目。
为此我会用小红书的搜刮功能,搜刮与我同范例的条记,看看热门的条记是怎样计划条记标题和封面的。
但是,人工手搜服从太低。
我就想能不能写一个步伐来资助我网络要想的数据。
这就有了做这个步伐的想法。
既然是基于小红书关键词搜刮,我起首想到的是办理一个标题。
怎样可以直接拿到搜刮功能的干系接口。
假如找到这个接口就方便批量获取数据了。
开始探求接口

找接口履历了许多困难。
我在百度、谷歌一通搜刮下来,发现网络上都在夸大小红书的数据是最难爬的。
纵然在github上搜刮,也没有找到傻瓜到可以直接运行的代码。
许多着名站点都有web端,而且没有对搜刮功能举行隐藏。所以想要收罗数据是比力轻易的。
但是小红书是直接找不到web端可以举行搜刮的入口,无从动手。
在错误的门路上越走越远

这就让我一开始只能实验从小红书app探求突破口。
根据了解,我安装实验了许多抓包软件。不限于Fiddler、charles等。
终极发现Fiddler更顺手,就不绝使用Fiddler。
错误的门路:
1.Fiddler监听小红书app
打开设置好Fiddler,让手机通过Wlan毗连到电脑同一个局域网下,而且设置Wlan署理到电脑ip所在的指定端口。端标语是在Fiddler设置好的。
然后通过Fiddler检察监听到的小红书app的数据哀求信息。
此间我给手机安装了需要SSL允许的Fiddler的CA证书,让手性能信托Fiddler发起的流量转发。
设置完发现需要将手机root,安装Xposed框架还要安装JustTrustMe插件。
此路不通,宣告失败。
2.实验绕过体系
起首我的手机肯定不能root,又由于是华为鸿蒙3.0,假如强行root大概会变砖,不敢负担这个风险。
所以没有实验root。
好巧不巧,我又发现可以选择安装太极,做到无需root即可享有su权限,安装Xposed插件。
灵活的我,安装好了太极,和Xposed插件后。
发现Fiddler监听小红书app,app内会直接提示无网络,体系时间错误
此路不通,宣告失败。
3.安装安卓假造机
荣幸的我又发现可以安装安卓假造机。
我在假造机中假造化一个已经root了的呆板,再安装太极,安装插件,安装小红书。
运行Fiddler监控小红书app。
但是小红书app会闪退。
此路不通,宣告失败。
4.电脑安装手机模仿器
我继承在这条路上走着。得知可以在电脑上安装手机模仿器,再安装上述方案同样的流程。
这个方案我没走,我总以为是自己选择的方向不对。
我不能在这条路上继承走下去了,太坑了。
赶紧退回来,征采其他办理方案。
找对方向

回过头继承搜刮方案,发现许多乐成的案例,都需要借助全能的微信小步伐。
张小龙你是我的神。
已知小红书的微信小步伐拥有简单的关键词搜刮功能。
这就充足了。
说干就干。
开始设置Fiddler监听微信小步伐数据流。
此间发现可以抓到来自小红书域名的数据,但是能看得懂的都是小红书的图片资源。
而且依然无法抓包https的数据流。
岂非又是证书的标题?
按原理电脑安装的证书是值得信托的,是直接被安装到受信托机构的。
那应该就是微信小步伐的缘故原由。
搜刮了一下,确实是,许多乐成的教程都是选用老版本的微信。
那就降版本,下载老版本的PC端微信。
安装好进入小红书小步伐,可以拿到https的数据了。不外还是看不到哀求关键词内容的接口。
这就很难过了。
找了好久不知道是那里出了标题。
在哪跌倒就在那里躺着吧。
功夫不负故意人

我在github继承找前人栽的树。找了许多代码,不白嫖,点个star。然后拉取到当地检察。
功夫不负故意人,找到了先辈抓包拿到的接口url。
拿来直接在接口工具中使用,发现哀求不乐成。
根据代码的完备度看,应该是哀求头headers中缺少关键的设置参数。
继承根据headers中不完备的参数举行搜刮。
发现是两个关键参数:x-sign,Authorization。
终极找到x-sign是对哀求的url部分布局举行了几番算法处理处罚后的值。这是一种标识符验证。
运气太好了,探求到了可以直接拿来用的python加密算法代码,可以直接得到x-sign的值了。
这方便了背面使用python抓取数据。
但是别的一个关键参数 Authorization 是什么不绝没找到。
背面在征采博客,找到了 Authorization 就是在微信小步伐接口上哀求中的 Authorization 参数。
再借助Fiddler监听,探求雷同的参数,终于还是被我找到了。
添加到api接口工具,哀求乐成,完美获取数据。
2.jpg <figcaption style="margin-top: 5px; text-align: center; color: #888; font-size: 14px;">image.png</figcaption>
4实当代码

3.jpg 实当代码很简单,就是设置了哀求链接url,在headers中到场正确的参数。
然后通过request库模仿http哀求。
哀求乐成后拿到返回值,对其举行json处理处罚,随后写入scv文件,生存为csv文件。
5实现原理

整个实践的过程就是下面如许的历程。

  • 选择抓包工具
  • 获取接口
  • 发现抓包不到数据接口
  • 征采网络资源,找到前人栽树接,拿到接口
  • 哀求接口拿取数据,设置哀求条件
  • 征采怎样拿到关键设置及原理过程
  • 哀求乐成,拿到数据。
关键点

  • 借助pc微信的小步伐。
  • headers 中 x-sign 和 Authorization 两个参数怎样获取。
6总结与拓展

这个实践,让我打仗到了许多新范畴和知识。 包罗不光限于以下

  • 抓包工具的使用
  • 安卓体系的证书体系
  • 安卓假造机
  • 加密算法及逆向
  • https哀求的加密验证
固然踩了许多的坑,也走了弯路。 但是走下来,能拿到终极想要的效果,还是很有成绩感的。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-19 13:31, Processed in 0.175384 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表