JoeanAmier / XHS-Downloader

小红书链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书无水印作品文件!
GNU General Public License v3.0
5.05k stars 762 forks source link

XHS又升级了 #2

Open zzmaze opened 1 year ago

zzmaze commented 1 year ago

下载下来都是12K的文件

JoeanAmier commented 1 year ago

无水印图片采集失效了,视频正常。

JoeanAmier commented 1 year ago

已修复。

Jeffrey-deng commented 1 year ago

已修复。

又不行了。。 "CRD_WM_.*?","url":"(.*?)" 这段没匹配到东西

JoeanAmier commented 1 year ago

测试正常。

JoeanAmier commented 1 year ago

你可以设置一下 Cookie,如果还是失败提供一下作品链接。

Jeffrey-deng commented 1 year ago

你可以设置一下 Cookie,如果还是失败提供一下作品链接。

上午的时候不行,刚刚又跑了一下确实可以了

Jeffrey-deng commented 1 year ago

你可以设置一下 Cookie,如果还是失败提供一下作品链接。

CRD_WM_WEBP 并不一定在链接前面,可以转成对象再取, 不然容易取到缩略图

JoeanAmier commented 1 year ago

缩略图地址不在这个匹配范围内,WM就是无水印的意思,缩略图在 CRD_PRV_WEBP,理论上不会取到缩略图。

Jeffrey-deng commented 1 year ago

缩略图地址不在这个匹配范围内,WM就是无水印的意思,缩略图在 CRD_PRV_WEBP,理论上不会取到缩略图。

会的,你没理解我意思,CRD_WM_WEBP 有可能在 URL 的后面,那么这个正则会匹配到其他东西; 我已经遇到了,会取到CRD_PRV_WEBP https://www.xiaohongshu.com/explore/64eb76b2000000001700fca9

imageList = note_info['image_list']
for image in imageList:
    if image['trace_id'] is not None and image['trace_id'] != '':
        image_file_urls.append('https://sns-img-bd.xhscdn.com/%s' % image['trace_id'])
        image_file_ids.append(image['trace_id'])
    else:
        image_file_url = list(filter(lambda info: info['image_scene'] == 'CRD_WM_WEBP', image['info_list']))[0]['url']
        image_file_urls.append(image_file_url)

先取到整个note,再去弄其他的更合理一些

JoeanAmier commented 1 year ago

没理解CRD_WM_WEBP 有可能在 URL 的后面,方便举个例子吗?

Jeffrey-deng commented 1 year ago

,{"url":"http:\\u002F\\u002Fsns-webpic-qc.xhscdn.com\\u002F202309171429\\u002Faf79742a37aff16378f6dc45c49736e1\\u002F1040g00830o9kfepli80g4a77l0b832du77nl7u0!nd_whgt34_webp_wm_1","imageScene":"CRD_WM_WEBP"}],"fileId":"","height":1920,"width":1440,"url":""},{"traceId":"","infoList":[{"imageScene":"CRD_PRV_WEBP","url":"http:\\u002F\\u002Fsns-webpic-qc.xhscdn.com\\u002F202309171429\\u002Fb514a2d054870d7e5a3122887451620e\\u002F1040g00830o9kfepli8104a77l0b832dulpj4et0!nd_whgt34_webp_prv_1"}

{"url":"", "imageScene":"CRD_WM_WEBP"} ..... {"imageScene":"CRD_PRV_WEBP", "url":""}

这时你的正则会取到下一个 url 另外如果这个图片是最后一个话,会少一个图片

JoeanAmier commented 1 year ago

已优化,可以试试最新源码。