吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9119|回复: 164
上一主题 下一主题
收起左侧

[Python 原创] 【2024-02-19更新】小红书下载视频、图片

    [复制链接]
跳转到指定楼层
楼主
wkdxz 发表于 2023-11-11 18:07 回帖奖励
本帖最后由 wkdxz 于 2024-2-19 11:19 编辑

2024-02-19更新:

修改图片地址提取逻辑,解决无法下载图片的问题。
成品EXE同步更新

.

关于水印

程序没有提供去水印功能,你下载的图和你打开网页看到的图是一样的。软件只是帮你省掉了反复打开图片,右键(或截图),保存的过程而已。

.

打包好的成品EXE

此贴只更新源码,成品请移步https://www.52pojie.cn/thread-1855615-1-1.html

.

下载后的图片需要合并

下载好的图片,如果想转成一个PDF文件,可以使用这个软件合并:目录内图片转PDF(试卷打印助手:https://www.52pojie.cn/thread-1843083-1-1.html)

.

运行截图

.

源码截图

.

源码下载

小红书下载源码.rar (2.74 KB, 下载次数: 746)

免费评分

参与人数 56吾爱币 +42 热心值 +49 收起 理由
WDM799 + 1 + 1 我很赞同!
b6571 + 1 + 1 我很赞同!
cnmsh + 1 热心回复!
kiko923 + 1 + 1 牛逼 很需要这个东西
sunshiguang + 1 + 1 谢谢@Thanks!
kkkfew + 1 鼓励转贴优秀软件安全工具和文档!
wxl2578 + 1 + 1 这没去水印吧 右下角还是有水印
MirrorAjie + 1 谢谢@Thanks!
yun547829831 + 1 + 1 热心回复!
linshushu + 1 + 1 谢谢@Thanks!
Little3366 + 1 太有用了
forryear + 1 + 1 谢谢@Thanks!
简单的简 + 1 + 1 我很赞同!
yuan1001 + 1 热心回复!
superTian + 1 热心回复!
泪之火 + 1 + 1 谢谢@Thanks!
jamessteed + 1 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
angrebobo + 1 我很赞同!
herco + 1 谢谢@Thanks!
wangjinhao123 + 1 热心回复!
xuanshixh + 1 + 1 谢谢@Thanks!
a6243116q + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wmf1208 + 1 谢谢@Thanks!
shiwudong + 1 + 1 我很赞同!
SakuraYaaa + 1 + 1 谢谢@Thanks!
webphp + 1 + 1 我很赞同!
TangTonT + 1 + 1 热心回复!
Oraer + 1 我很赞同!
maomaochongguoh + 1 + 1 收场
xiaoshan208 + 1 谢谢@Thanks!
liucong113 + 1 + 1 热心回复!
sxsllb + 1 我很赞同!
zhangyanwei123 + 1 我很赞同!
ImAcai + 1 谢谢@Thanks!
pozou + 1 + 1 谢谢@Thanks!
dengyixin + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
pallove + 1 + 1 谢谢@Thanks!
Kkkkkkky + 1 热心回复!
huaxiong888 + 1 谢谢@Thanks!
zhiyusaccount + 1 + 1 谢谢@Thanks!
杨辣子 + 1 + 1 热心回复!
dbhamchao01 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
daoye9988 + 1 + 1 谢谢@Thanks!
Zhaofeiyan + 1 鼓励转贴优秀软件安全工具和文档!
aiwuwawa + 1 热心回复!
2232539 + 1 热心回复!
Woodrow615 + 1 热心回复!
lhy1763894201 + 1 热心回复!
youlaoshi + 1 谢谢@Thanks!
helh0275 + 1 + 1 虽不用小红书,但有你就有别的希望,加油!~
Bob5230 + 1 + 1 热心回复!
wbzb + 1 + 1 热心回复!
chaixinxin7 + 1 好用 这算是爬取照片是吧(纯小白
yanglinman + 1 + 1 谢谢@Thanks!
Yb丶 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
yuupuu 发表于 2023-11-11 23:04
本帖最后由 yuupuu 于 2023-11-11 23:23 编辑

简单做了一个改进,可以在服务器运行,然后通过HTTP传参,实现了一个API,可以用来开发网页版或者小程序解析。

[Python] 纯文本查看 复制代码
from flask import Flask, request, jsonify
import requests
import re

app = Flask(__name__)

@app.route('/')
def index():
    url = request.args.get('url')
    if url:
        result = get_image_urls(url)
        return jsonify(result)
    else:
        return jsonify({'error': 'Missing URL parameter'})

def get_html(url):
    headers = {
        "authority": "www.xiaohongshu.com",
        "cache-control": "max-age=0",
        "sec-ch-ua": '"Chromium";v="21", " Not;A Brand";v="99"',
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": '"Windows"',
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "sec-fetch-site": "same-origin",
        "sec-fetch-mode": "navigate",
        "sec-fetch-user": "?1",
        "sec-fetch-dest": "document",
        "accept-language": "zh-CN,zh;q=0.9",
    }
    response = requests.get(url, headers=headers)
    return response.text

def json_content(html):
    rule = r"<script>window\.__INITIAL_STATE__=(.*?)</script>"
    js = re.search(rule, html, re.I)
    if js:
        content = js.group(1)
        return content
    else:
        return None

def get_image_urls(url):
    html = get_html(url)
    js = json_content(html)
    js = js.replace(r"\u002F", r"/")

    all_urls = re.findall(r'url":"(http://[^\":\{\}\[\]]*?wm_1)"', js)
    
    return {'image_urls': all_urls}

if __name__ == "__main__":
    app.run(debug=True)


返回的是JSON



http://127.0.0.1:5000/?url=http://xhslink.com/wZh4pw

PHP版


[PHP] 纯文本查看 复制代码
<?php

    function get_html($url) {
        $headers = array(
            "authority" => "www.xiaohongshu.com",
            "cache-control" => "max-age=0",
            "sec-ch-ua" => '"Chromium";v="21", " Not;A Brand";v="99"',
            "sec-ch-ua-mobile" => "?0",
            "sec-ch-ua-platform" => '"Windows"',
            "upgrade-insecure-requests" => "1",
            "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
            "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
            "sec-fetch-site" => "same-origin",
            "sec-fetch-mode" => "navigate",
            "sec-fetch-user" => "?1",
            "sec-fetch-dest" => "document",
            "accept-language" => "zh-CN,zh;q=0.9",
        );
    
        $options = array(
            'http' => array(
                'header' => implode("\r\n", array_map(
                    function ($v, $k) {
                        return $k . ':' . $v;
                    },
                    $headers,
                    array_keys($headers)
                )),
            ),
        );
    
        $context = stream_context_create($options);
        $response = file_get_contents($url, false, $context);
    
        return $response;
    }
    
    function json_content($html) {
        $rule = '/<script>window\.__INITIAL_STATE__=(.*?)<\/script>/i';
        preg_match($rule, $html, $matches);
    
        if ($matches) {
            $content = $matches[1];
            return $content;
        } else {
            return null;
        }
    }
    
    function get_image_urls($url) {
        $html = get_html($url);
        $js = json_content($html);
        $js = str_replace("\\u002F", "/", $js);
    
        preg_match_all('/"url":"(http:\/\/[^":\{\}\[\]]*?wm_1)"/', $js, $all_urls);
    
        return array('image_urls' => $all_urls[1]);
    }
    
    if ($_SERVER['REQUEST_METHOD'] === 'GET') {
        $url = $_GET['url'];
        if ($url) {
            $result = get_image_urls($url);
            header('Content-Type: application/json');
            echo json_encode($result);
        } else {
            header('Content-Type: application/json');
            echo json_encode(array('error' => 'Missing URL parameter'));
        }
    }
    
?>


https://域名/xiaohongshu/?url=http://xhslink.com/wZh4pw

点评

有点意思啊,老哥!  发表于 2023-11-25 17:31

免费评分

参与人数 5吾爱币 +4 热心值 +5 收起 理由
angrebobo + 1 亲测可用,棒!
52pojie666z + 1 + 1 我很赞同!
白雾林 + 1 + 1 谢谢@Thanks!
bluem + 1 用心讨论,共获提升!
wkdxz + 2 + 1 用心讨论,共获提升!

查看全部评分

推荐
GuoWuYuan 发表于 2023-11-12 15:55
感谢这位大神的分享 希望一如继往的发光发热 为大家点亮一盏希望的灯 永远支持
推荐
Sugarmapler 发表于 2023-11-12 09:21
嗯,很棒的设计,有的时候看到水印真的很烦
推荐
孤独无情 发表于 2023-11-11 18:42
麻烦问一下 源码修改用什么软件
推荐
shuanglinlu 发表于 2023-11-11 20:33
小红书用的不多
所以对我来说
这个就没啥兴趣了

也要感谢楼主的用心与奉献

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
wkdxz + 2 + 1 用心讨论,共获提升!

查看全部评分

推荐
kronoslee 发表于 2024-3-18 15:34
转PDF的那个好用,在win上很方便。可以放弃PPT做PDF了,感谢
3#
Yb丶 发表于 2023-11-11 18:19
感谢大佬!
4#
石昊荒天帝 发表于 2023-11-11 18:34
http://xhslink.com/l080Cm怎么用?输入链接回车后闪退
5#
qiaoyj666 发表于 2023-11-11 18:47
感谢分享!
6#
qqpoly 发表于 2023-11-11 19:03
感谢楼主的分享,学习学习再学习啊
7#
dg1997 发表于 2023-11-11 19:08
感谢分享                                      
8#
shijufeiwj 发表于 2023-11-11 19:11
不错的工具!有书看了
9#
wbzb 发表于 2023-11-11 19:27
感谢分享
10#
夜白沙 发表于 2023-11-11 19:31
石昊荒天帝 发表于 2023-11-11 18:34
http://xhslink.com/l080Cm怎么用?输入链接回车后闪退

可能得复制到浏览器,然后再复制,链接会变长(或为重定向)。再用就行,我试了一下,用那个有缩略图的版本,是可以的。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-8 00:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表