爬虫实战|2.5w+张4k高清壁纸爬取~

Python爬虫与数据挖掘

共 1213字,需浏览 3分钟

 · 2024-03-30


👆点击关注|设为星标|干货速递👆


大家好,我是小菜鸟~


最近在网上发现了一些非常适合猛男的壁纸,然后就用爬虫程序给爬取了下来。而且独乐乐不如众乐乐,大家一起分享快乐的同时,也可以学到一定的知识~

01

页面分析



331c620d1ddcf2445da2cb27657614bc.webp


首先我们按F12打开开发者模式,对name里面的网页进行观察,发现我们要的图片URL存在源网页中,如图:

dd1d437cdea9688abae67b18cf9df8a7.webp

但是,我们发现这个图片的URL并不完整,我们来观察一下完整的URL,看看两者之间有何联系,如图:

7f492089e9117dbaecd87d9dce7e2b44.webp

我们发现,图片的URL就是https://pic.netbian.com+src里面内容。

好,我们现在找到了数据之间的规律,我们现在就要开始提取数据了。


02

数据采集


我们结合之前的页面分析,发现选用正则表达式对图片的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)

让我们来看看提取的数据:

2a63640e54704d20396d319901214f21.webp

效果很好,没有什么问题,那我们就可以开始着手准备存储图片了。


03

数据存储


数据存储的方式在之前的文章已经讲的很清楚了,这里我们不在详细介绍,只提供一下图片存储的思路:图片是以二进制数据的方式存储的,我们只需将其以二进制的方式存储到txt文件中即可。代码如下:

          pic_url = 'https://pic.netbian.com' + hrefs[i]
pic = requests.get(pic_url)
with open(f'{names[i]}.jpg', 'ab') as f:
f.write(pic.content)

让我们来看看效果图:

f8be084b4bd6da4dada299dc5208b924.webp


04

小结


1. 本文详细的介绍了如何获取高清4k壁纸图,请读者仔细阅读,并加以操作。

2. requests库提供了content用以提取图片二进制数据

3. 在存储二进制文件时需要在存储方式后面加个b,如‘ab’。

4. 本文仅供学习参考,不做它用

5. 后台回复[壁纸]即可获得源代码。


推荐阅读



爬虫实战|百度贴吧图片爬取~

2021-12-05

e62ab1ca377c6f8279e42d72482e5cf9.webp


👆点击关注|设为星标|干货速递👆

浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报