python爬虫,13行代码把2520个美女带回家,快速掌握

今天发现一个宝藏网站,里面有许多宝藏图片。宝藏太多,点击一个一个下载太辛苦,就用爬虫来帮我一键下载所有宝藏图片。

部分截图如下:

图片

接下来就看看我们是如何使用13行代码实现的。

爬虫一般步骤:

图片

数据爬取

数据解析

数据存储

结合到本案例来说目的就是爬取所有美女图片:

1.先实现单张下载开始;            

2.再实现全部图片的下载;

目标网站:

https://www.mn52.com/

宝藏网站首页:

图片

我们先来实现单张图片的爬取:

1.获取单张图片链接,这个就是我们所要请求的目标url。(这图片质量,啧啧。没得说)

https://image.mn52.com/img/allimg/2020-08-08/973dbdc6-644d-437a-836a-1da23366ca52_a26042b121.jpg

2.可以看出我们第一张mn.jpg图片已经成功保存到本地。代码很简单,不再过多赘述哈,详见注释。

import requests
#目标url
img_url = 'https://image.mn52.com/img/allimg/2020-08-08/973dbdc6-644d-437a-836a-1da23366ca52_a26042b121.jpg'
#获取响应
resp = requests.get(img_url)
#打印响应状态码
#print(resp.status_code)  #200    表示请求发送成功
#保存图片
with open('img\mn.jpg', 'wb') as fin:fin.write(resp.content)

图片

接下来我们要做的是获取全部图片,可以看得出本页有28张图片。所以我们要爬取的连接就是浏览器网页url。

图片

https://www.mn52.com/meihuoxiezhen/

获取到网页信息如下:

图片

接下来我们在获取到的文档之中搜索我们想要的图片信息。

图片

可以看到,每个图片的url都在

class="item-media entry"

里面。

所以这里我们首先需要正则提取出所有图片的url。

class="item-media entry".*?src="(.*?)"

代码如下:

import requests
import re
#目标url
img_url = 'https://www.mn52.com/meihuoxiezhen/'
#获取响应
resp = requests.get(img_url)
#打印响应状态码
#print(resp.status_code) #200
#跨行匹配所有字符
pattern = re.compile('class="item-media entry".*?src="(.*?)"', re.S)
#打印图片url
result = re.findall(pattern, resp.text)
print(result)

成功提取到所有图片的url。

图片

接下来就可以下载所有图片了。

for img_url in result:#拼接urlresp = requests.get('http:' + img_url)with open('img\%d.jpg'%num, 'wb') as fin:fin.write(resp.content)print('正在下载第%d图片:'%num + 'http:' + img_url)num += 1

结果展示如下:

图片

至此,代码已经成功下载至本地。代码提升和优化的空间还很大。我只是实现了基本的功能。

我在这里只是用13行代码实现了一页28张图片的爬取演示,大家可以尝试一下爬取全部92页2520张图片哈。

图片

其实我已经写出了爬取全部2520张图片的代码,只不过没有在此演示。留给你操作空间。

图片

若有需要。私我内回复’mn源码‘,我把源码和2520图都给你。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部