小红书很难爬?最新爬取方法教给你啦~

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤莫学武陵人,暂游桃源里 。
Python进击者第184篇原创文章
前言
大家好,我是Kuls 。
之前写的那篇App抓包软件的配置说过,超过30在看,马上更下一篇 。有读者问我怎么爬App,我手把手教了他(多图警告)
所以加班加点给大家写了今天这篇文章 。
本文将会带着大家完完整整的爬取小红书的全过程
小红书
需要做的前提工作就是装配好
具体的配置过程,我建议大家参照崔大写的来进行安装
首先,我们打开之前大家配置好的
我们来简单抓包一下小红书小程序(注意这里是小程序,不是app)
不选择app的原因是,小红书的App有点难度,参照网上的一些思路,还是选择了小程序
1、通过抓包对小程序进行分析

小红书很难爬?最新爬取方法教给你啦~

文章插图
我们打开小红书小程序,随意搜索一个关键词
小红书很难爬?最新爬取方法教给你啦~

文章插图
按照我的路径,你可以发现列表中的数据已经被我们抓到了 。
但是你以为这就结束了?
不不不
小红书很难爬?最新爬取方法教给你啦~

文章插图

小红书很难爬?最新爬取方法教给你啦~

文章插图
通过这次抓包,我们知道了可以通过这个api接口获取到数据
但是当我们把爬虫都写好时,我们会发现里面有两个很难处理的参数
""和"x-sign"
这两个玩意,一直在变化,而且不知道从何获取 。
所以
2、使用来进行抓包
其实通过抓包,整体的抓取思路我们已经清晰
就是获取到""和"x-sign"两个参数,然后对url进行get请求
这里用到的,其实和差不多,都是抓包工具
但是能够跟一起执行
这就舒服很多啊
简单给大家举例子
def request(flow):print(flow.request.headers)
在中提供这样的方法给我们,我们可以通过对象截取到 中的url、、host、、port、等属性
这不正是我们想要的吗?
我们直接截取""和"x-sign" 这两个参数
然后往里填入
整个就完成了 。
小红书很难爬?最新爬取方法教给你啦~

文章插图
以上是我们整个的爬取思路,下面给大家讲解一下代码怎么写
其实代码写起来并不难
首先,我们必须截取到搜索api的流,这样我们才能够对其进行获取信息
if 'https://www.xiaohongshu.com/fe_api/burdock/weixin/v2/search/notes' in flow.request.url:
我们通过判断flow的里面是否存在搜索api的url
来确定我们需要抓取的请求
authorization=re.findall("authorization',.*?'(.*?)'\)",str(flow.request.headers))[0]x_sign=re.findall("x-sign',.*?'(.*?)'\)",str(flow.request.headers))[0]url=flow.request.url
通过上述代码,我们就能够把最关键的三个参数拿到手了,接下来就是一些普通的解析json了 。
最终,我们可以拿到自己想要的数据了
小红书很难爬?最新爬取方法教给你啦~

文章插图
如果你想要获取到单篇数据,可以拿到文章id后抓取
"" + str(id)
小红书很难爬?最新爬取方法教给你啦~

文章插图