偶然一次,我在深夜难眠时,突然一道靓丽的网站从我眼前滑过,猛然使我惊醒。我发现校花网好多漂亮小姐姐的照片啊!嘿嘿,留下当手机壁纸不错,yyds!
于是,我利用了Python一次性把她们的照片下载了出来!
那么,我们该如何一次性爬取下载这些令人心动的照片呢?
我们先来看下怎么爬取一张图片的数据:
方式1:基于requests
方式2:基于urllib
urllib模块作用和requests模块一样,都是基于网络请求的模块
当requests问世后就迅速地替代了urllib模块
比如,我们现在准备爬取这张可爱的熊熊:
img_url = 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic21.nipic.com%2F20120606%2F5137861_093119370162_2.jpg&refer=http%3A%2F%2Fpic21.nipic.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1634794705&t=162f415928fef44dc6fb006639dd034d'
requests方式:
response = requests.get(url=img_url, headers=headers)img_data = response.content # content返回的是二进制形式的响应数据with open('1.jpg', 'wb') as f: f.write(img_data)# 图片就保存为 '1.jpg'
urllib方式:
# 可以直接对url发起请求并且进行持久化存储urllib.request.urlretrieve(img_url, './2.jpg')
上述两种爬起图片的操作不同之处是什么?
使用urllib的方式爬取图片无法进行UA伪装,而requests的方式可以。不需要UA伪装的情况下,使用urllib下载图片更方便!
现在,爬取一张图片的方法我们学会了。那怎么才能批量下载小姐姐的照片呢?(我的键盘早已饥渴难耐!)
url = http://www.521609.com/daxuexiaohua
操作:需要将每一张图片的地址解析出来,然后对图片地址发起请求即可
写代码之前,我们先来了解下 浏览器开发者工具:
分析浏览器开发者工具中Elements和network这两个选项卡对应的页面源码数据有何不同之处?
Elements中包含的显示的页面源码数据为当前页面所有的数据加载完毕后对应的完整页面源码数据(包含了动态加载数据)
network中显示的页面源码数据仅仅为某一个单独的请求对应的响应数据(不包含动态加载数据)
结论:如果在进行数据解析的时候,一定是需要对页面布局进行分析,如果当前网站没有动态加载的数据就可以直接使用Elements对页面布局进行分析。否则只可以使用network对页面数据进行分析。
很显然,当前网站没有动态加载的数据。那么就可以直接使用Elements对页面布局进行分析
爬取前:我们需要使用Elements捕获出图片地址,可以看到图片地址在源码里的<li>节点里:
具体代码实现下载步骤:(咱们课程主要讲解爬虫的抓包方式和解析方法,具体正则写法等基础教程,可以关注我的Python基础教程)
结果我们就一次性下载完小姐姐的照片了!
关注 Python涛哥,学习更多Python知识!
用户评论
这个题目听起来挺有趣的!想看看那些漂亮的美女照片啊。
有12位网友表示赞同!
有点好奇Python爬虫是怎么运作的,是不是真的可以爬集到校园 belles 的照片呢?
有16位网友表示赞同!
这种软件会不会侵犯他人的隐私啊?
有18位网友表示赞同!
好厉害哦~用编程技术下载美图,我感觉很有趣!
有7位网友表示赞同!
校花网是不是有很多漂亮的小姐姐啊?很想看看这些照片。
有13位网友表示赞同!
学习Python爬虫感觉很有挑战性,不过看着能够收集到自己喜欢的照片还挺好的
有5位网友表示赞同!
这种软件会不会容易受到黑客攻击呢?安全方面要注意吧!
有10位网友表示赞同!
下载美女照片,看起来有点像满足某些人的幻想啊。
有9位网友表示赞同!
我觉得学习Python爬虫更像是为了了解技术本身,而不是仅仅为了收集照片。
有16位网友表示赞同!
这种软件对电脑配置要求高不高呀?我的电脑够用吗?
有10位网友表示赞同!
我感觉这个网站名字很有意思,听起来就让人想进去看看!
有9位网友表示赞同!
爬虫技术真的很厉害,可以自动收集大量的信息。
有8位网友表示赞同!
这个游戏有没有免费试用版啊!
有14位网友表示赞同!
下载完照片之后怎么办呢?是用来欣赏还是其他的用途?
有7位网友表示赞同!
感觉这种软件的开发过程一定很有趣!
有9位网友表示赞同!
想知道这款软件除了爬取校花网的照片,还可以爬取哪些其他网站的信息呢?
有19位网友表示赞同!
这个游戏是不是只针对大学男生啊?
有12位网友表示赞同!
Python爬虫是不是很不容易学啊?
有9位网友表示赞同!