type
status
date
slug
summary
tags
category
icon
password
最近小红书的反爬策略非常严格,网上没有可以直接下载作者主页视频合辑的方法,经过一番搜索后,发现有两个工具稍微结合,就可以完美实现我想要的效果,这里我会一步一步的介绍如何使用开源工具来批量下载小红书主页作品。
首先我们需要 Git, Python 和 Nodejs 环境,Python 版本 3.10 以上,NodeJS 版本 18.18.2 以上
下载安装
以上三个软件的安装过程我不做过多介绍,网上很多教程
我们需要用到的工具是 MediaCrawler(https://github.com/NanmiCoder/MediaCrawler) 和 Lux(https://github.com/iawia002/lux),以及我写的脚本 https://github.com/niuniuland/xhs-mediacrawler-lux
下面正式介绍怎么在 Windows 上使用以上工具
在要放置代码的地方点击地址栏,输入 cmd 回车来唤起命令行工具
会唤起一个窗口,这个是命令行工具,接下来我们的操作基本上都会在这上面完成
下载 MediaCrawler 代码,在命令行工具中输入(点击命令行中间位置右键,可以直接粘贴)
接着进入到 MediaCrawler 目录下
创建虚拟环境
激活虚拟环境
命令行工具变成这样说明已经激活虚拟环境
安装依赖库
安装 playwright浏览器驱动
安装完成后,你需要找到 MediaCrawler/config/base_config.py 文件,右键用文本打开,我用的是 nodepad++
先把 SAVE_DATA_OPTION 由 csv 改为 json
再找到 XHS_CREATOR_ID_LIST 这一行
将你要抓取的小红书作者的 ID 填入到小的红框中,至于作者 ID,怎么获取,用电脑端访问作者的主页,复制地址栏可以得到这样的一个链接 https://www.xiaohongshu.com/user/profile/5cb81cb4000000001702ef55
其中 5cb81cb4000000001702ef55 就是我们要的 ID
填入后记得 Ctrl+S 保存,回到命令行工具,执行以下命令
接着会唤起一个浏览器窗口,自动访问小红书,接着会弹出一个二维码,需要我们用小红书APP扫码登录,登录成功后会开始抓取,你可以在命令行工具上看到抓取进度。完成之后来到 MediaCrawler\data\xhs\json 目录下,可以看到抓取的结果,
一般会有两个文件,大这个就是我们要的文件,一会会用上
接下来就是借助 Lux 来实现批量下载了,同样调起 cmd 命令行
下载我的脚本
进入到目录下
安装依赖
接下来就是调用 lux 了,你可以选择从这里(https://github.com/iawia002/lux/releases)下载,然后把 lux.exe 放到 xhs-mediacrawler-lux 目录下,也可以不下载,直接使用我放在 xhs-mediacrawler-lux 里面下载好了的 lux.exe
在 MediaCrawler/data/xhs/json 找到刚刚抓取得到的 json 文件,右键文本形式打开它,复制文件内的所有内容,粘贴到 xhs-mediacrawler-lux 的 posts.json 中,记得 Ctrl + S 保存。(你也可以直接把抓取得到的 json 改名为 posts.json 把文件替换了)
回到命令行工具,执行以下命令,这时候就开始下载你指定的作者主页了。下载的视频会放在 xhs-mediacrawler-lux 目录下
后续要抓取,只需要重复执行我在上文中用蓝色字体标记出来的步骤即可
- Author:牛牛
- URL:https://niuniuland.com/article/xhs-crawler
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts