使用Python爬虫爬取小红书完完整整的全过程


Posted in Python onJanuary 19, 2021

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章来源于Python进击者 ,作者kuls

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542

小红书

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

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

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

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

使用Python爬虫爬取小红书完完整整的全过程

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

使用Python爬虫爬取小红书完完整整的全过程

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

但是你以为这就结束了?

不不不

使用Python爬虫爬取小红书完完整整的全过程

通过这次抓包,我们知道了可以通过这个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了。

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

使用Python爬虫爬取小红书完完整整的全过程

如果你想要获取到单篇数据,可以拿到文章id后抓取

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

使用Python爬虫爬取小红书完完整整的全过程

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

最后,可以把数据放入csv

使用Python爬虫爬取小红书完完整整的全过程

总结

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

到此这篇关于使用Python爬虫爬取小红书完完整整的全过程的文章就介绍到这了,更多相关Python爬取小红书内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中random模块生成随机数详解
Mar 10 Python
python 读写、创建 文件的方法(必看)
Sep 12 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
python解析json串与正则匹配对比方法
Dec 20 Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 Python
解决jupyter notebook import error但是命令提示符import正常的问题
Apr 15 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
浅析Python 字符编码与文件处理
Sep 24 Python
Python爬取微信小程序通用方法代码实例详解
Sep 29 Python
通过Python pyecharts输出保存图片代码实例
Nov 25 Python
python实现三阶魔方还原的示例代码
Apr 28 Python
python 自动识别并连接串口的实现
Jan 19 #Python
python爬取抖音视频的实例分析
Jan 19 #Python
python中的插入排序的简单用法
Jan 19 #Python
Python实现淘宝秒杀功能的示例代码
Jan 19 #Python
Python爬虫后获取重定向url的两种方法
Jan 19 #Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 #Python
VSCODE配置Markdown及Markdown基础语法详解
Jan 19 #Python
You might like
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
Python中基本的日期时间处理的学习教程
2015/10/16 Python
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
简单的python后台管理程序
2017/04/13 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
详解Python sys.argv使用方法
2019/05/10 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
给老婆的搞笑检讨书
2014/01/12 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
小学中队活动总结
2015/05/11 职场文书
安全守法证明
2015/06/23 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
创业计划书之农家乐
2019/10/09 职场文书
PyQt5实现多张图片显示并滚动
2021/06/11 Python
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA