使用Python爬虫怎么爬取小红书

  介绍

今天就跟大家聊聊有关使用Python爬虫怎么爬取小红书,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

首先,我们打开之前大家配置好的查尔斯。

我们来简单抓包一下小红书小程序(注意这里是小程序,不是应用)

不选择应用的原因是,小红书的应用有点难度,参照网上的一些思路,还是选择了小程序

1,通过查尔斯抓包对小程序进行分析

使用Python爬虫怎么爬取小红书”> </p> <p>我们打开小红书小程序,随意搜索一个关键词</p> <p> <img src=

这两个玩意,一直在变化,而且不知道从何获取。

所以

2,使用mitmproxy来进行抓包

其实通过查尔斯抓包,整体的抓取思路我们已经清晰

就是获取到“authorization"和“x-sign"两个参数,然后对url进行得到请求

这里用到的mitmproxy,其实和查尔斯差不多,都是抓包工具

但是mitmproxy能够跟Python一起执行

这就舒服很多啊

简单给大家举例子

, def 请求(流):   ,才能打印(flow.request.headers)

在mitmproxy中提供这样的方法给我们,我们可以通过请求对象截取到请求头中的url,饼干,主机,方法,港口,计划等属性

这不正是我们想要的吗?

我们直接截取“authorization"和“x-sign"这两个参数

然后往标题里填入

整个就完成了。

以上是我们整个的爬取思路,下面给大家讲解一下代码怎么写

其实代码写起来并不难

首先,我们必须截取到搜索api的流,这样我们才能够对其进行获取信息

if  & # 39; https://www.xiaohongshu.com/fe_api/burdock/weixin/v2/search/notes& # 39;,拷贝flow.request.url:

我们通过判断流的请求里面是否存在搜索api的url

来确定我们需要抓取的请求

=re.findall授权(“授权# 39;,。* ? & # 39;(. * ?)& # 39;\)“,str (flow.request.headers)) [0]   x_sign=re.findall (“x-sign& # 39;,。* ? & # 39; (. * ?) & # 39; \)“, str (flow.request.headers)) [0]   url=flow.request。url

通过上述代码,我们就能够把最关键的三个参数拿到手了,接下来就是一些普通的解析json了。

最终,我们可以拿到自己想要的数据了

使用Python爬虫怎么爬取小红书”> </p> <p>如果你想要获取到单篇数据,可以拿到文章id后抓取</p> <pre类=“https://www.xiaohongshu.com/discovery/item/", +, str (id)

使用Python爬虫怎么爬取小红书”> </p> <p>这个页面标题里需要带有饼干,你随意访问一个网站都可以拿到饼干,目前看来好像是固定的</p> <p>最后,可以把数据放入csv </p> <p> <img src=看完上述内容,你们对使用Python爬虫怎么爬取小红书有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

使用Python爬虫怎么爬取小红书