大家好,我是小瑜!
最近在网上搜了一些猛男看的壁纸,在这里分享给大家!
壁纸预览
瞬间就觉得心情好多了!(男生晚上尽量少看哦!不然我怕你对象找我拼命!)
页面分析
首先我们按F12打开开发者模式,对name里面的网页进行观察,发现我们要的图片URL存在源网页中,如图:
但是,我们发现这个图片的URL并不完整,我们来观察一下完整的URL,看看两者之间有何联系,如图:
我们发现,图片的URL就是https://pic.netbian.com+src里面内容。
好,我们现在找到了数据之间的规律,我们现在就要开始提取数据了。
提取数据
我们结合之前的页面分析,发现选用正则表达式对图片的URL和名字进行提取最为方便,代码如下:
url =f'https://pic.netbian.com/index_{page}.html'
r = requests.get(url)
r.encoding = r.apparent_encoding
hrefs = re.findall('<img src="(.*?jpg)"',r.text)
names = re.findall('<b>(.*?)</b>',r.text)
让我们来看看提取的数据:
效果很好,没有什么问题,那我们就可以开始着手准备存储图片了。
存储图片
数据存储的方式在之前的文章已经讲的很清楚了,这里我们不在详细介绍,只提供一下图片存储的思路:图片是以二进制数据的方式存储的,我们只需将其以二进制的方式存储到txt文件中即可。代码如下:
pic_url ='https://pic.netbian.com'+ hrefs[i]
pic = requests.get(pic_url)
withopen(f'{names[i]}.jpg','ab')asf:
f.write(pic.content)
让我们来看看效果图:
总结
1. 本文详细的介绍了如何获取高清4k壁纸图,请读者仔细阅读,并加以操作。
2. requests库提供了content用以提取图片二进制数据
3. txt文件在存储二进制文件时需要在存储方式后面加个b,如‘ab’。
4. 后台回复[壁纸]即可获得源代码。