Python pyquery 获取千图网部分VIP 无水印原图
在工作时可能会需要很多的素材,千图网为我们提供了一个很好的平台,但多数图片需要开通VIP,今天分享一个可以绕过多数 VIP 才能够下载的方法
由于第一次写博客,会有语言不通或用词不专业等情况,还望多加斧正。
所需库: urllib.request pyquery urllib.parse
文章目录
分析网页源码
分析网页源码
打开千图网中的一个素材图片
右键打开抓包工具,审查元素,
可以看到图示中的素材url在 id = show-area-height 标签下的img scr中
因此得到素材的 url: //preview.qiantucdn.com/58pic/35/76/35/auto_04f58PICt4IeBt75fhbbf_PIC2018.jpg!w1024_new_0
将得到的url复制到地址栏中,看到高清的素材图片展现在眼前。

但是发现并不是我们想要的高清、无水印、下载后免扣图便可直接使用的图片,因此产生一个问题,如何拿到素材真正的地址,而并非是网站用来向用户展示的图片?难道再去学一个PS?难道退而求其次只用这些残次品吗?
不,人向来追求美好,绝不能作罢。
接下来查看网页源代码。

首先进入眼帘的是网页的编码格式为 " gbk ",在后续会用到。
其次,可以看到素材的 url 在 meta 中 content 也有出现。
这些有什么用处我们暂且不谈,先来根据 meta 中的content 中的url,再打开另外的一些素材图片:
//preview.qiantucdn.com/58pic/35/76/35/auto_04f58PICt4IeBt75fhbbf_PIC2018.jpg!w1024//preview.qiantucdn.com/58pic/35/76/35/auto_04f58PICt4IeBt75fhbbf_PIC2018.jpg!w1024_water
//preview.qiantucdn.com/58pic/35/74/79/auto_17658PIC9b2iMREdv697d_PIC2018.jpg!w1024_water
//preview.qiantucdn.com/58pic/35/74/86/png_auto_81X58PIC888fefc2s9GJK_PIC2018.jpg!w1024_water
//preview.qiantucdn.com/original_origin_pic/19/03/17/auto_709be0eaf77adfa23d73936042ac6290_PIC2018.jpg!w1024_water
在这些素材url中,我们可以观察到前两个 url 格式较为统一,而后两者则各有不同。因为第一次写博客,所以这次之讲述其中一种格式的下载方式。
有兴趣的可以自己找一找后两者的下载方式,当然也可以扫描文章末尾的二维码获取所有格式完整的代码。
接下来,继续讨论如何找到无水印的素材地址,以第一种格式为例:
//preview.qiantucdn.com/58pic/35/76/35/auto_04f58PICt4IeBt75fhbbf_PIC2018.jpg!w1024_water
//preview.qiantucdn.com/58pic/35/74/79/auto_17658PIC9b2iMREdv697d_PIC2018.jpg!w1024_water
观察到这种格式的 url 均以//preview.qiantucdn.com/ 开头,不一样是后方的地址。
这时候我们是否想到可以将其后的内容理解为服务器储存该素材的一个编号。像是每位员工都有唯一工号。
但是只有工号,没有部门,岂不是很难管理?
千图网的网址是什么?
https://www.58pic.com/ 像不像一个部门?<

本文介绍了一种绕过千图网VIP限制,免费下载高清无水印原图的方法,通过分析网页源码,利用pyquery筛选信息,解析图片真实下载链接。
最低0.47元/天 解锁文章
3019





