大家好,我是木木。今天给大家分享一个神奇的Python库
XHS-Downloader。这个库专为小红书平台设计,能够高效地提取用户发布、收藏、点赞的作品链接,以及搜索结果中的作品和用户链接。更厉害的是,它还能采集小红书作品的详细信息,提取作品的下载地址,并支持下载无水印的作品文件,对于数据分析、内容创作者和营销人员来说,这无疑是一个强大的工具。

特点一:多类型内容下载
-
XHS-Downloader 支持下载小红书上的多种内容,包括图片、视频和文章。这一特点使它在内容获取方面非常灵活,满足了不同用户的需求。
特点二:简单易用的API
-
该库提供了简单直观的API,用户只需要提供小红书内容的URL,就可以轻松启动下载任务。这使得即使是Python初学者也能够快速上手使用。
特点三:高效稳定
-
XHS-Downloader 在设计时充分考虑了效率和稳定性。它采用了多线程下载技术,能够实现快速下载,同时保证了下载过程的稳定性。
最佳实践
-
安装方法(源码运行):由于具体的安装步骤和使用方法可能会随着版本更新而变化,建议访问XHS-Downloader的GitHub页面查看最新的安装指南和文档。
# 1.拉取或手动下载本仓库项目代码
git clone https://github.com/JoeanAmier/XHS-Downloader.git
# 2.进入项目文件夹,安装依赖
cd XHS-Downloader
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 3.运行程序
python main.py
-
易于上手的主程序示例:
async def example():
"""通过代码设置参数,适合二次开发"""
# 示例链接
error_link = "https://github.com/JoeanAmier/XHS_Downloader"
demo_link = "https://www.xiaohongshu.com/explore/xxxxxxxxxx"
multiple_links = f"{demo_link} {demo_link} {demo_link}"
# 实例对象
work_path = "D:\" # 作品数据/文件保存根路径,默认值:项目根路径
folder_name = "Download" # 作品文件储存文件夹名称(自动创建),默认值:Download
user_agent = "" # 请求头 User-Agent
cookie = "" # 小红书网页版 Cookie,无需登录
proxy = None # 网络代理
timeout = 5 # 请求数据超时限制,单位:秒,默认值:10
chunk = 1024 * 1024 * 10 # 下载文件时,每次从服务器获取的数据块大小,单位:字节
max_retry = 2 # 请求数据失败时,重试的最大次数,单位:秒,默认值:5
record_data = False # 是否记录作品数据至文件
image_format = "WEBP" # 图文作品文件下载格式,支持:PNG、WEBP
folder_mode = False # 是否将每个作品的文件储存至单独的文件夹
async with XHS() as xhs:
pass # 使用默认参数
async with XHS(work_path=work_path,
folder_name=folder_name,
user_agent=user_agent,
cookie=cookie,
proxy=proxy,
timeout=timeout,
chunk=chunk,
max_retry=max_retry,
record_data=record_data,
image_format=image_format,
folder_mode=folder_mode,
) as xhs: # 使用自定义参数
download = True # 是否下载作品文件,默认值:False
# 返回作品详细信息,包括下载地址
print(await xhs.extract(error_link, download)) # 获取数据失败时返回空字典
print(await xhs.extract(demo_link, download))
print(await xhs.extract(multiple_links, download)) # 支持传入多个作品链接
async def main():
async with XHSDownloader() as xhs:
await xhs.run_async()
if __name__ == '__main__':
# run(example())
run(main())
这段代码展示了如何使用XHS-Downloader下载小红书上的图片和视频内容。只需简单地设置参数以及配置文件,就可以实现内容的下载。
高级应用
接下来,我们深入一项需要一定开发经验和难度的功能:自定义下载选项,例如指定下载目录和并发下载。
在根目录下的 settings.json
文件,首次运行自动生成,可以自定义部分运行参数。
其次需要自行设置cookie
参数,否则程序可能无法运行!
参数 | 类型 | 含义 | 默认值 |
---|---|---|---|
work_path | str | 作品数据 / 文件保存根路径 | 项目根路径 |
folder_name | str | 作品文件储存文件夹名称 | Download |
user_agent | str | 请求头 User-Agent | 默认 UA |
cookie | str | 小红书网页版 Cookie,无需登录 | 无 |
proxy | str | 设置程序代理 | null |
timeout | int | 请求数据超时限制,单位:秒 | 10 |
chunk | int | 下载文件时,每次从服务器获取的数据块大小,单位:字节 | 1048576(1 MB) |
max_retry | int | 请求数据失败时,重试的最大次数,单位:秒 | 5 |
record_data | bool | 是否记录作品数据至 TXT 文件 | FALSE |
image_format | str | 图文作品文件下载格式,支持:PNG、WEBP | PNG |
folder_mode | bool | 是否将每个作品的文件储存至单独的文件夹;文件夹名称与文件名称保持一致 | FALSE |
language | str | 设置程序语言,目前支持:zh-CN、en-GB | zh-CN |
当我设置好了之后,在去运行main.py
,即可实现一些定制化的高级功能,还可以基于此进行二次开发!
XHS-Downloader是一个功能强大且易于使用的工具,无论您是需要批量下载小红书内容,还是仅仅希望保存您喜欢的某个视频或图片,它都能满足您的需求。希望本次分享能帮助您更好地利用这个工具。
原文始发于微信公众号(木木夕咦):XHS-Downloader,一个超强的python库(小红书采集/爬虫)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/228870.html