XHS-Downloader,一个超强的python库(小红书采集/爬虫)

大家好,我是木木。今天给大家分享一个神奇的Python

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

XHS-Downloader,一个超强的python库(小红书采集/爬虫)
(图源网络)

特点一:多类型内容下载

  • 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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!