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

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书
今日鸡汤莫学武陵人,暂游桃源里。
Python进击者
第184篇原创文章

前言

大家好,我是Kuls。

之前写的那篇App抓包软件charles的配置说过,超过30在看,马上更下一篇。有读者问我怎么爬App,我手把手教了他(多图警告)

所以加班加点给大家写了今天这篇文章。

本文将会带着大家完完整整的爬取小红书的全过程

小红书

需要做的前提工作就是装配好mitmproxy

具体的配置过程,我建议大家参照崔大写的来进行安装

https://zhuanlan.zhihu.com/p/33747453

首先,我们打开之前大家配置好的charles

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

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

1、通过charles抓包对小程序进行分析

我们打开小红书小程序,随意搜索一个关键词

按照我的路径,你可以发现列表中的数据已经被我们抓到了。

但是你以为这就结束了?

不不不

通过这次抓包,我们知道了可以通过这个api接口获取到数据

但是当我们把爬虫都写好时,我们会发现headers里面有两个很难处理的参数

"authorization"和"x-sign"

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

所以

2、使用mitmproxy来进行抓包

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

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

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

但是mitmproxy能够跟Python一起执行

这就舒服很多啊

简单给大家举例子

 def request(flow):print(flow.request.headers)

在mitmproxy中提供这样的方法给我们,我们可以通过request对象截取到request headers中的url、cookies、host、method、port、scheme等属性

这不正是我们想要的吗?

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

然后往headers里填入

整个就完成了。

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

其实代码写起来并不难

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

if 'https://www.xiaohongshu.com/fe_api/burdock/weixin/v2/search/notes' in flow.request.url:

我们通过判断flow的request里面是否存在搜索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后抓取

"https://www.xiaohongshu.com/discovery/item/" + str(id)

这个页面headers里需要带有cookie,你随意访问一个网站都可以拿到cookie,目前看来好像是固定的

最后,可以把数据放入csv


总结

其实小红书爬虫的抓取并不是特别的难,关键在于思路以及使用的方法是什么。

本期的文章就到这里了,如果本期在看超过40,马上出下一篇干货!

我们下期见~

------------------- End -------------------

往期精彩文章推荐:

  • 一篇文章教会你使用Django根据现有数据库反向生成models

  • 手把手教你使用Django如何连接Mysql

  • 一篇文章总结一下Python库中关于时间的常见操作

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/62205.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSDN网站个性化推荐功能测试

本博客是为了完成这个找 bug 号召: https://bbs.csdn.net/topics/614134877而发布的。 我的测试环境是:Microsoft Edge 114.0.1823.43 (正式版本)(64位)非无痕模式 测试场景之一:兴趣标签 场景1.1 添加兴…

黄仁勋:英伟达收购 ARM 是谣言,下周发布会有惊喜

By 超神经 内容提要:近期,英伟达发布了第二季度财报,业绩喜人,再创新高。公司 CEO 黄仁勋随后还接受了 Venturebeat 旗下游戏频道 Gamesbeat 的记者采访,就英伟达目前现状、游戏行业发展等发表了自己的见解。 关键词&a…

英伟达真假黄仁勋疑云

作者 | 祝涛 出品 | CSDN(ID:CSDNnews) 近日,在计算机图形顶级会议ACM SIGGRAPH 2021上,英伟达介绍了公司研发的3D仿真模拟和协作平台Omniverse,并详细解释了数字假人黄仁勋的打造过程。难道英伟达今年4月…

真假黄仁勋疑云?英伟达推出全球首个元宇宙平台

【编者按】近日,在计算机图形顶级会议ACM SIGGRAPH 2021上,英伟达介绍了公司研发的3D仿真模拟和协作平台Omniverse,并详细解释了数字假人黄仁勋的打造过程。难道英伟达今年4月的主题演讲是由“假黄仁勋”主持的?对此,英…

英伟达国内版 A800 来袭,为了赚钱黄教主拼尽全力!

近来,英伟达推出专供中国市场使用的A800系列显卡。作为A100的替代,A800符合美国政府对减少出口管制的明确测试,并且不能通过编程来实现性能超越。 另辟蹊径:没有A100,但可以有A800 ​美国对中国进行核心技术防备也不…

英伟达发大招 黄仁勋:生成式AI唯一限制是人类想象力

雷递网 雷建平 3月22日 ChatGPT仅是一个起点。 英伟达(NVIDIA)创始人兼首席执行官黄仁勋说,计算正在以“光速”发展。黄仁勋于今日宣布与谷歌、微软、Oracle等一众领军企业开展广泛的合作,为各行各业带来新的AI、模拟和协作能力。…

英伟达曝光超级芯片 黄仁勋:AI已重塑计算机产业

5月29日,英伟达再曝新品“NVIDIA DGX™超级计算机”,为生成式AI语言应用、推荐系统和数据分析工作负载的巨型模型提供硬件支持。 该计算机的核心组件是已经全面投产的英伟达Grace Hopper超级芯片——2000 亿个晶体管,在同一封装内集成了72核…

黄仁勋误入直播被当“路人”,英伟达粉丝都乐疯了

作者|李禾子 邮箱|lihezipingwest.com 黄仁勋,大名鼎鼎的芯片巨头英伟达CEO,硅谷最炙手可热的男人,最近出现在了台北街头两个女主播的直播间里。 不是宣传产品,不是接受访问,而是纯纯地路过被…

谷歌开源Live Transcribe语音识别转文字工具

8月18日,Google宣布开源Android语音识别转录工具Live Transcribe的语音引擎。 这家公司希望这样做可以让任何开发人员为长篇对话提供字幕,减少因网络延迟、断网等问题导致的沟通障碍。源代码现在可以在GitHub上获得。这意味着无论你是出国或是与新朋友见…

python简单实现文字转语音,语音识别

直接语音合成 需要安装 pip3 install pyttsx3 pip3 install pypiwin32 安装pyttsx3的时候出错,结果重装了一次python才行。。。 tips:最后本人安装的版本是3.6 import pyttsx3 # 初始化 engine pyttsx3.init()engine.say(我要开始语音合成) engine.say(好好学习&am…

语音识别(语音转文字) 语音合成(文字转语音)

【语音合成API】SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等 // 语音播报speek (content) {let message new SpeechSynthesisUtterance()message.text contentmessage.lang zh-CNmessag…

手把手使用Python语音识别,进行语音转文字

目录 0. 太长不看系列,直接使用 识别结果 1. Python调用标贝科技语音识别接口,实现语音转文字 1.1 环境准备: 1.2 获取权限 1.2.1 登录 1.2.2 创建新应用 1.2.3 选择服务 1.2.4 获取Key&Secret 2. 代码实现 2.1 获取access_to…

语音识别1-3语音克隆-语音转文字-聊天盒子-python

语音识别 文本合成语音克隆声音项目语音转文字bug解决 文字转语音不保存文件转语音重复自己刚说过的话聊天盒子 环境信息 B站教学视频跳转 音频格式在线转换: https://www.aconvert.com/cn/audio/m4a-to-mp3/ 或者用格式工厂 文本合成语音 from gtts import gTTS …

Android语音转文字一识别语音

项目地址:https://github.com/zhanlv/VtDemo 讯飞AndroidSDK文档:https://doc.xfyun.cn/msc_android/%E9%A2%84%E5%A4%87%E5%B7%A5%E4%BD%9C.html 讯飞语音SDK不提供android平台语音转写的功能(只支持java平台,当然android可以通…

语音识别,将语音转换成文字

通常,我们在不想打字的时候,就会给别人发语音。但是如果你想把你说的一段话给 它转换成文字,该怎么操作呢?今天就来给大家分享一个技能,快速的将语音转换成 文字。无论是写文章,或者做会议记录,…

语音识别(利用python将语音转化为文字)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、申请讯飞语音端口1.点击链接进入讯飞平台主页面2.在页面注册自己的个人账户3.申请语音端口4.查看自己的端口编码 二、python代码讲解1.代码如下&#xff08…

chatglm-6b_ptuning error:bash .sh,出现ModuleNotFoundError

文章目录 模型效果演示问题描述分析一分析二 ChatGLM-6B是一个由清华大学和智谱AI联合研发的开源对话语言模型。它是一个支持中英双语问答的对话系统,并在中文方面进行了特别的优化。 该模型基于General Language Model (GLM)架构,具有62亿参数。借助模型…

【自然语言处理】【大模型】用于大型Transformer的8-bit矩阵乘法介绍

用于大型Transformer的8-bit矩阵乘法介绍 原文地址:A Gentle Introduction to 8-bit Matrix Multiplication for transformers at scale using transformers, accelerate and bitsandbytes 相关博客 【深度学习】【分布式训练】Collective通信操作及Pytorch示例 【自…

简单易懂------使用PyTorch实现Chatbot

本系列文章通过通俗易懂的方式介绍强化学习的基本概念,虽然语言通俗,但是内容依旧非常严谨性。文中用很多的公式,对数学公式头疼的读者可能会被吓住,但是如果读者一步一步follow下来,就会发现公式的推导非常自然&#…

Hugging Face Transformer:从原理到实战的全面指南

一、前言 前面我面介绍过ChatGPT的基本原理以及预训练大语言模型的发展史,我们知道ChatGPT和所有预训练大语言模型的核心是什么?其实就是 Transformer,Hugging Face 的火爆离不开他们开源的这个 Transformers 库。这个开源库里有数万个我们可…