张春潘 发表于 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'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_url1], 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'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)

张春潘 发表于 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




时隔半年多,挖下{:1_936:}

最近一直在找去小红书无水印解析的工具,才翻到这个帖子,继而看到老哥你对楼上大佬当初求的补链,不知老哥之后转存到网盘里了么??如果转存的话,麻烦也向我分享下呗,我来的晚了,大佬当初分享的。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行   


没找到啊,是不是已经改过了?
页: [1] 2 3 4 5
查看完整版本: 【新人贴】小红书无水印图片下载