如何用程序批量下载小红书的图片?

如何使用MediaCrawler快速下载图片

作为一名图像算法工程师,怎么能没有图片资源呢?今天,我要介绍一个能快速下载图片的方法,仅供学习使用,请勿用于其他用途。

下载项目

首先,从GitHub下载项目:MediaCrawler

项目页面

安装依赖

安装所需的Python依赖库:

pip install -r requirements.txt

安装Playwright浏览器驱动:

playwright install
运行爬虫程序

项目默认没有开启评论爬取模式,如果需要爬取评论,请在 config/base_config.py 中将 ENABLE_GET_COMMENTS 变量设置为 True。一些其他支持的功能,也可以在 config/base_config.py 查看,文件中有中文注释。

搜索帖子并爬取信息与评论
python main.py --platform xhs --lt qrcode --type search
获取指定帖子的信息与评论
python main.py --platform xhs --lt qrcode --type detail
打开对应APP扫二维码登录
python main.py --help

例如,我想下载某个创作者的全部图片,可以这样设置:

设置下载参数

再设置最大下载量:

设置最大下载量

在命令行中执行下载:

python main.py --platform xhs --type creator > output.log 2>&1

所有日志会打印到 output.log 文件中。

提取图片URL

接下来,我们需要编写一个脚本来从日志中提取图片URL。以下是一个Python脚本示例:

import re

def extract_image_urls(log_file, output_file):
    with open(log_file, 'r', encoding='utf-16LE') as f:
        log_content = f.read()

    # 删除\r\n
    log_content = log_content.replace('\r', '')
    log_content = log_content.replace('\n', '')

    # 使用正则表达式提取'image_list'中的URL
    image_url_pattern = re.compile(r"'image_list':\s*'([^']+)'")
    matches = image_url_pattern.findall(log_content)

    # 分割每个'image_list'字段中的URL,并写入文件
    with open(output_file, 'w', encoding='utf-8') as f:
        for match in matches:
            urls = match.split(',')
            for url in urls:
                f.write(url.strip() + '\n')

# 调用函数,分析日志文件并提取图片URL
extract_image_urls('output.log', 'image.txt')

这样,我们就能得到一个包含所有图片URL的 image.txt 文件:

生成的URL文件

通过这种方法,我们可以快捷地下载所需的图片资源,方便后续的图像处理和算法开发。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Zabbix 排坑版 Centos7

systemctl stop firewalld;systemctl disable firewalld;setenforce 0sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configzabbix源地址,可以自己选版本,安装都大差不差 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5…

Codeforces Round 955 (Div. 2) A~E

A.Soccer(思维) 题意: 迪马喜欢看足球比赛。在这样一场比赛中,记分牌上的比分表示为 x x x: y y y,其中 x x x是第一队的进球数, y y y是第二队的进球数。在任何时候,只有一支球队可以进球&am…

超声波清洗机怎么选?极力推荐四款口碑大牌超声波清洗机

相信大家都知道超声波清洗机,每次眼镜脏的时候,去眼镜店里让老板帮忙清洗,她们用的就是超声波清洗机,通过超声波的原理深入物品深处清洁,清洁效果非常好。相对手洗的方式,超声波清洗机能够保护镜片在清洗过…

jq实现拖动滑块实现人机校验——基础积累

最近在写后台管理系统,同事遇到一个需求关于滑动验证的。之前的样式是: 现在只要底部的滑动验证,图片不要了,而且要滑动到右边才算是验证通过。 就是如下所示的最简单的验证方式: 由于同事现有的项目是mvc的&#…

昇思25天学习打卡营第1天|yulang

今天主要了解了深度学习框架之昇思MindSpore的初学入门,没想到 ai学习入门如此简单,不愧是华为大手笔,提供的学习环境配置如此之高。这个平台有点类似百度飞桨,大大降低了AI开发门槛,使用户能够快速实现想要的模型&…

Dinky 让Flink作业纵享丝滑

1.Dinky是什么? Dinky 是一个开箱即用的一站式实时计算平台,以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架,致力于流批一体和湖仓一体的建设与实践。Dinky 让Flink作业纵享丝滑,为 Apache Flink 深度定制的新一代实时计算…

【Python机器学习】模型评估与改进——留一法交叉验证

留一法也是一种常见的交叉验证方法。 我们可以将留一法交叉验证看作是每折只包含单个样本的k折交叉验证。对于每次划分,选择单个数据点作为测试集。这种方法可能非常耗时,特征是对于大型数据,但是小型数据集上有时可以给出更好的估计结果&am…

生产环境部署Nginx服务器双机热备部署-keepalived(多种模式教程)

前言:今天演示下生产环境keepalived的部署方式,安装模式有很多,比如说主备模型和双主模型,主备分:抢占模式 和 非抢占模式。这里我会一一展开说具体怎么配置一、双节点均部署Nginx: 第一步:上传…

MSYS2教程(windows环境下使用linux工具)

MSYS2教程(windows环境下使用linux工具) 1.msys2简介 MSYS2(Minimal SYStem 2)是一个集成了大量的GNU工具链、工具和库的开源软件包集合。它提供了一个类似于Linux的shell环境,可以在Windows系统中编译和运行许多Linux应用程序和工具。 MS…

Hive SQL:实现炸列(列转行)以及逆操作(行转列)

目录 列转行行转列 列转行 函数: EXPLODE(ARRAY):将ARRAY中的每一元素转换为每一行 EXPLODE(MAP):将MAP中的每个键值对转换为两行,其中一行数据包含键,另一行数据包含值 数据样例: 1、将每天的课程&#…

我的世界服务器-高版本服务器-MC服务器-生存服务器-RPG服务器-幻世星辰

生存为主,RPG乐趣为辅,重视每位玩家的建议,一起打造心目中的服务器,与小伙伴一起探险我的世界! 服务器版本: 1.18.2 ~ 1.20.4 Q群: 338238381 服务器官网: 星辰毛毛雨-Minecraft高版本生存服务器我的世界…

C语言入门-指针和数组5

指针和地址 地址 地址是内存中一个特定位置的标识符。每个内存位置都有一个唯一的地址,用于存储数据。这些地址通常表示为十六进制数。 物理地址:硬件层次上的实际内存地址。逻辑地址:程序运行时使用的地址,由操作系统管理。 …

“蓝潮卫士“水位雨量监测一体机,重塑城市防洪新防线!

​ 6月24日,湖南长沙遭遇了一场突如其来的特大暴雨侵袭。天空像破了个口子,雨水倾盆而下,仅仅1小时,就下了54个西湖,降水量突破了历史同期极值。这场暴雨直接导致了严重的城市内涝问题,部分地区瞬间变成一…

强化学习的数学原理:贝尔曼公式

大纲 这一节课程的大纲: 重点 对于这次课,重点是两个东西: Motivating examples(为什么需要贝尔曼公式) 首先要明白,为什么 return 是重要的? 之前其实就说过,return 能够帮助我们评价一个策略是好还是坏…

阿里云:云通信号码认证服务,node.js+uniapp(vue),完整代码

api文档&#xff1a;云通信号码认证服务_云产品主页-阿里云OpenAPI开发者门户 (aliyun.com) reg.vue <template> <div> <input class"sl-input" v-model"phone" type"number" maxlength"11" placeholder"手机号…

几度互联网站群管理系统全媒体解决方案

随着高考的结束&#xff0c;各高校开启了紧张的招生宣传工作&#xff0c;几度互联网站群系统助力各高校招生宣传。 学校官方网站是互联网时代学校对外交流的重要途径和信息公开的主要载体&#xff0c;是展示学校形象、密切联系师生的重要窗口&#xff0c;是加强校园宣传思想工…

2024 年的 13 个 AI 趋势

2024 年的 13 个 AI 趋势 人工智能对环境的影响和平人工智能人工智能支持的问题解决和决策针对人工智能公司的诉讼2024 年美国总统大选与人工智能威胁人工智能、网络犯罪和社会工程威胁人工智能治疗孤独与对人工智能的情感依赖人工智能影响者中国争夺人工智能霸主地位人工智能…

LVGL实现字库的下载和使用

1 字库 字库的概念&#xff1a;相应文字或字符的合集。 点阵字库&#xff1a;按字库顺序排列的字符/汉字字模的合集。 LVGL中字库使用Unicode编码&#xff0c;Unicode 是全球文字统一编码。它把世界上的各种文字的每一个字符指定唯一编码&#xff0c;实现跨语种、跨平台的应…

分体式天线的应用介绍

分体式天线的主要应用广泛且多样化&#xff0c;以下是对其主要应用的归纳&#xff1a; 1、仓储管理 在RFID仓储项目中&#xff0c;使用性能好的RFID分体式天线可以确保系统的稳定性&#xff0c;更能够降低整个项目的成本。 分体式天线通过其多个天线接口与分体式读写器连接&…

K-Planes代码记录

随记 原文 K-Planes: Explicit Radiance Fields in Space, Time, and Appearance&#xff0c;又要换baseline&#xff0c;可是效果不好能怎么办呢&#xff0c;我可不可以发疯。k-planes的代码又是非常工程琐碎的&#xff0c;大佬的代码果然不顾小白死活。随便记录下整个过程。…