Python爬虫实战:爬取小红书去水印图片

最近想换一张和女朋友的情侣头像。 经过一番查找,终于在小红书里找到了几款让我感兴趣的。 保存图片的时候,我搜了半天,发现没有下载按钮! ! !

你能分享一下吗? 复制并分享链接,然后在浏览器中打开它来尝试一下。 这样可以保存图片,但是图片水印

可以下载无水印图片吗?

我在网上简单搜索了一下,发现有很多去除水印的小程序,但几乎都是有免费使用次数限制的。 爬虫程序员,这能忍吗?

既然他们可以通过小红书的分享链接直接分析无水印的图片,理论上来说,我也可以!

话不多说,按你说的去做。

1、思维分析

首先,在小红书APP中点击分享,获取其分享链接,如:…

然后在浏览器中打开(我用的是浏览器)。

按F12或者Ctrl+shift+i打开开发者工具,切换到type,选择Img作为过滤器,如图,

刷新网页,就可以轻松提取出我们想要的图片的链接了。

您可以在 中预览图片,并且可以在 中查看图片的请求头等信息。

如上图,可以知道图片的下载链接。

/-92…

简单分析一下,该链接由以下几部分组成:域名()+图片id(-92c9-4e0b-5408-)+? + 压缩格式(/2/w/100/h/100/q/75)。

温馨提示:在浏览器中直接访问会弹出下载界面; 去掉?后面的部分,访问就会在浏览器中打开图片。

我们发现通过上面的链接直接下载的图片有水印,那么如何获取无水印的图片呢?

我们继续分析。

我们已经知道图片的链接是由域名+ID+压缩格式组成的,而后面的压缩格式字段只影响图片的大小和质量,并不影响是否有水印。 是压缩前的原始图像)。

因此,无水印的图片必须通过ID来控制。 并且作为程序员的直觉,这个无水印的图片ID(如果有的话)必须与有水印的图片ID放在一起。

接下来我们复制-92c9-4e0b-5408-(带水印的图片ID)到网页源码中搜索小红书网址,看看有没有收获。

经过一番查找,终于发现了一个非常可疑的地方。 它是 json 格式的文本。 下面有很多元素,每一项都有url、宽高、信息。

我们发现url就是我们刚刚找到的图片链接(里面的u002F是slash/的URL编码),是我们找到的图片的ID。

此时,有一个领域非常可疑。 它是什么?

抱着尝试的心态,我将url中的图片id替换为值小红书网址,复制到浏览器查看

/-81…

嘿,你猜怎么着? 水印没了! !哈哈哈哈

这样我们就完成了对图像去水印的思路的解析,并成功提取出无水印的图像链接。

接下来,我们使用爬虫来实现这一点。

2. 编码

梳理一下我们的提取思路:

未经允许不得转载:新动力营销圈 » Python爬虫实战:爬取小红书去水印图片

赞 (0)

相关推荐

    暂无内容!