百度贴吧下载原图
2020-05-28
有一定网龄的网民们一定见到过不少变绿的图片,在知乎上曾经也有过一次讨论 为什么图片反复压缩后普遍会变绿,而不是其他颜色? ),多次压缩后导致的图片质量的下降是不可逆的,传播图片时使用原图而非多次压缩后的图片是很重要的,以下内容介绍了如何在百度贴吧上下载“原图”,而非带水印的图片。
! 本文的部分样例涉及到 R18 内容,nsfw!
tl;dr
https://imgsrc.baidu.com/forum/pic/item/hashhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.jpg
“原图”非原图
百度贴吧在上传图片的时候就会压缩一次图片,也就是说,最后存储到服务器上的图片已经是压缩过的,故下文所提到的办法无法下载真正意义上的“原图”。对于这种情况,建议使用以图搜图来查找原图,以下是比较常见的图片搜索引擎:
- SauceNAO:https://saucenao.com 与大众搜索引擎不同,这个搜索引擎专精于二次元图片,会索引 pixiv 等其他动漫图片平台(包括R18),而且会将图片元数据收集进来,在查找二次元图片来源时,这个网站是首选。
- 百度图片:https://image.baidu.com 大众搜索引擎,简体中文内容一般比谷歌好使。
- 谷歌图片:https://images.google.com 大众搜索引擎,对于热门的国外图片比较好用,但是由于谷歌比较喜欢对图片做文字标记(Mrinal Sourav's answer to What is the algorithm used by Google's reverse image search (i.e. search by image)? What algorithms would I need to understand, to create similar functionality on a small scale? - Quora ),故有些时候搜索出来的内容可能并非想要的。
下载“原图”
经过各种尝试后,发现对于一张图片,百度一般会生成以下几种 URL:
https://imgsa.baidu.com/forum/w%3D580/sign=e1144b4dd788d43ff0a991fa4d1ed2aa/95a89b51f3deb48f91434de6f11f3a292df578b6.jpg
https://imgsa.baidu.com/forum/abpic/item/95a89b51f3deb48f91434de6f11f3a292df578b6.jpg
https://imgsrc.baidu.com/forum/cp%3Dtieba%2C10%2C809%3Bap%3Dpymo%B0%C9%2C104%2C820/sign=db4bc9305243fbf2d161ae67d91ba8e1/95a89b51f3deb48f91434de6f11f3a292df578b6.jpg
https://imgsrc.baidu.com/forum/pic/item/95a89b51f3deb48f91434de6f11f3a292df578b6.jpg
分别为,为在帖子页中展示而裁剪的图片、大图页尚未加载高清图片后的图片、大图页启用水印后显示的图片以及大图页未启用水印后显示的图片。
尝试发现一下规律我们会发现,百度图片的 URL 一般由以下成分构成:
http(s)://{服务器名}.baidu.com/{所属}/{调整参数}/{签名}/{随机字符串}.{文件拓展名}
对于百度贴吧,服务器名一般为两个,缩略图服务器为 imgsa
,原图服务器为 imgsrc
,而所属则为一个,即 forum
。
非百度贴吧的 URL 样例:
http://hiphotos.baidu.com/harvey7/pic/item/a5a0b7115aafa40f001d6745ab64034f79f01936.jpg
调整参数则为url编码后的一个指令序列,具体可以自行尝试。
签名一般为 sign=
开头,由百度服务器生成,如果不知道签名则可以填入 item
,这两者的区别在于,有签名的图片,百度服务器会在响应头中加入 CORS 头,允许跨域访问,而无签名的没有这个相应头。
随机字符串就是随机字符串啦...
文件拓展名一般为 jpg。