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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15711|回复: 48
收起左侧

[Python 转载] 【新人贴】小红书无水印图片下载

[复制链接]
张春潘 发表于 2021-6-11 17:24
本人刚写py不久,代码有点烂,好在能正常运行 最近在团队小伙伴有需要用到小红书无水印的素材图片, 刚好本人在吾爱破解上面 看到大佬分享的 关于小红书无水印下载的内容,受到启发,写了以下代码关于代码的好美观度 咱就不讨论了 哈哈,毕竟本人也是个菜鸡,跟各位大佬还是没有办法比较的
import requests
import os
import time
from bs4 import BeautifulSoup #导入bs4

'''https://ci.xiaohongshu.com/ 这个是小红书无水印拼接链接,后面只要传入:traceId 里面的参数即可'''

'''解析小红书链接的内容'''
def parsing_link(url):
    headers = {
        'authority': 'www.xiaohongshu.com',
        'method': 'GET',
        'path': '/discovery/item/607ee644000000000102f4ae?xhsshare=CopyLink&appuid=5d104649000000001003b205&apptime=1623338168',
        'scheme': 'https',
        'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 ',
        'accept-encoding': 'gzip, deflate, br',
        'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
        'cache-control':'no-cache',
        'cookie':'xhsTrackerId=e6018ab9-6936-4b02-cb65-a7f9f9e22ea0; xhsuid=y2PCwPFU9GCQnJH8; timestamp2=20210607d2293bcc8dcad65834920376; timestamp2.sig=QFn2Zv9pjUr07KDlnh886Yq43bZxOaT6t3WCzZdzcgM; xhsTracker=url=noteDetail&xhsshare=CopyLink; extra_exp_ids=gif_exp1,ques_exp2',
        'pragma':'no-cache',
        'sec-ch-ua':'" Not;A Brand";v="99", "Microsoft Edge";v="91", "Chromium";v="91"',
        'sec-ch-ua-mobile':'?0',
        'sec-fetch-dest':'document',
        'sec-fetch-mode':'navigate',
        'sec-fetch-site':'none',
        'sec-fetch-user':'?1',
        'upgrade-insecure-requests':'1',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36',
    }

    r = requests.get(url, headers=headers).text
    traceId = eval(r[r.find('imageList')+11:r.find(',"cover"')])
    url_list = []
    for i in traceId:
        urls = f"https://ci.xiaohongshu.com/{i['traceId']}"
        url_list.append(urls)
    return url_list

'''url短链解析'''
def duanlianjie():
    url = 'https://duanwangzhihuanyuan.bmcx.com/web_system/bmcx_com_www/system/file/duanwangzhihuanyuan/get/'
    data = {
        "turl":"http://xhslink.com/aMtISc"
    }
    res = requests.post(url,data = data).text
    soup = BeautifulSoup(res, 'lxml') #html.parser是解析器,也可是lxml
    # print(soup.prettify())  #输出soup对象的内容
    return soup.a['href']

'''下载图片'''
def download(path,picture_url):
    headers = {
      "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36        (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE",
      }
    # for i in range(len(picture_url)):
    #     r = requests.get(picture_url, headers=headers)
    #     with open(fr'{filename}\{filename}{i}.jpg', 'wb') as f:
    #         f.write(r.content)
    start = time.time()
    for i in range(len(picture_url)):
        with open(f'{path}{i}.jpg', 'wb') as v:
            try:
                v.write(requests.get(url=picture_url[i+1], headers=headers).content)
                end = time.time()
                cost = end - start
                print(f'{path} ===>downloaded ===>cost {cost}s')
            except Exception as e:
                print('视频下载错误!')

if __name__ == '__main__':
    original_link = input('请输入从小红书复制的链接:')
    # NewNordic发布了一篇小红书笔记,快来看吧!😆 3nHwpvIq5U9hLtv 😆 http://xhslink.com/aMtISc,复制本条信息,打开【小红书】App查看精彩内容!
    a = original_link[original_link.find('http') :original_link.find(',复制本条信息')]
    filename = input('请输入图片保存名称:')
    '''根据用户输入的名称,在代码根目录下创建对应文件夹'''
    Path = filename
    if os.path.exists(path=Path) == False:
        os.mkdir(path=Path)
    else:
        print('目录不存在!')
    os.chdir(path=Path)
    '''对用户输入的短链接,进行解析,改为长链接'''
    a = duanlianjie()
    '''解析链接中的无水印链接'''
    url_list = parsing_link(a)
    '''下载无水印图片'''
    download(filename,url_list)

免费评分

参与人数 3吾爱币 +2 热心值 +2 收起 理由
elitest + 1 用心讨论,共获提升!
cbc1988 + 1 + 1 用心讨论,共获提升!
金丰龙卫浴 + 1 热心回复!

查看全部评分

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

 楼主| 张春潘 发表于 2023-1-8 00:10
最新的解析代码 在另外一个帖子里面,需要的大佬们 请移步:https://www.52pojie.cn/thread-1730923-1-1.html
 楼主| 张春潘 发表于 2021-6-11 23:07
本帖最后由 张春潘 于 2021-6-11 23:08 编辑
elitest 发表于 2021-6-11 22:57
没找到啊,是不是已经改过了?

倒数第三行代码:a = duanlianjie() 需要传输a = original_link 这个参数
url短链接解析 def duanlianjie(original_link ):
data = {
        "turl":"original_link "
    }

下载图片:
try下面的这一行代码 修改为一下内容:
v.write(requests.get(url=picture_url, headers=headers).content)

这样程序就正常运行 没有啥问题了呢!


安辰- 发表于 2022-3-25 18:18
zxquan 发表于 2021-9-17 10:05
链接: https://pan.baidu.com/s/1Fs29esj7mzOCruEvptT4Hg 提取码: gub3

时隔半年多,挖下

最近一直在找去小红书无水印解析的工具,才翻到这个帖子,继而看到老哥你对楼上大佬当初求的补链,不知老哥之后转存到网盘里了么??如果转存的话,麻烦也向我分享下呗,我来的晚了,大佬当初分享的。exe版小红书无水印解析的工具链接失效了。。。
 楼主| 张春潘 发表于 2021-6-11 17:55
第83行  
  a = duanlianjie(original_link)
第42行   
data = {
        "turl":turl
    }

刚刚发现代码中有两个调试的地方  我忘记修改了 如果需要的 请自行替换以上两行代码
MILAQIOU 发表于 2021-6-11 18:11
看不懂,头大。
qm敏敏 发表于 2021-6-11 18:21
复制走啦  谢谢谢谢
火焰仔FireBoy 发表于 2021-6-11 18:32
参考的是哪个大神的帖子 我也去观摩一下
 楼主| 张春潘 发表于 2021-6-11 18:53
火焰仔FireBoy 发表于 2021-6-11 18:32
参考的是哪个大神的帖子 我也去观摩一下

小红书图片解析下载。求大佬写个代码转换器
https://www.52pojie.cn/thread-1400662-1-1.html
(出处: 吾爱破解论坛)
这个贴子里面 4楼跟5楼的评论,可以参考下
nanaqilin 发表于 2021-6-11 19:50
厉害了,我也去学习一下
vethenc 发表于 2021-6-11 20:26
感谢分享,文章插入代码请用发帖李的专用格式,有语法高亮,方便查看
 楼主| 张春潘 发表于 2021-6-11 22:51
vethenc 发表于 2021-6-11 20:26
感谢分享,文章插入代码请用发帖李的专用格式,有语法高亮,方便查看

ok 下次注意
elitest 发表于 2021-6-11 22:57
张春潘 发表于 2021-6-11 17:55
第83行  
  a = duanlianjie(original_link)
第42行   

没找到啊,是不是已经改过了?
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2024-5-17 23:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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