欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python3爬虫——下载unsplash美图到本地

程序员文章站 2022-03-25 15:51:12
最近发现一个网站www.unsplash.com ( 没有广告费哈,纯粹觉得不错 ),网页做得很美观,上面也都是一些免费的摄影照片,觉得很好看,就决定利用蹩脚的技能写个爬虫下载图片。 先随意感受一下这个网站: 接下来开始对网页进行解析: 在该网页检查元素,选择其中一张图片查看它的代码 可以看到,图片 ......

 

最近发现一个网站www.unsplash.com ( 没有广告费哈,纯粹觉得不错 ),网页做得很美观,上面也都是一些免费的摄影照片,觉得很好看,就决定利用蹩脚的技能写个爬虫下载图片。

先随意感受一下这个网站:

python3爬虫——下载unsplash美图到本地

接下来开始对网页进行解析:

在该网页检查元素,选择其中一张图片查看它的代码

python3爬虫——下载unsplash美图到本地

 

 可以看到,图片 img 在一个 div 的 tag 里面,而且 class = ”IEpfq“,不过那么多内容,虽然有点乱,但其实看 src = ” “ 就行了。

但这只是一张图片的内容,得再看看其他的图片是不是一样。检查一下发现都是这样。这样子就算解析完成了。可以开始写代码了

 1 #!/usr/bin/env python
 2 # _*_ coding utf-8 _*_
 3 from bs4 import BeautifulSoup
 4 import requests
 5 
 6 i = 0
 7 url = 'https://unsplash.com/'
 8 html = requests.get(url)
 9 soup = BeautifulSoup(html.text, 'lxml')
10 
11 img_class = soup.find_all('div', {"class": "IEpfq"})        # 找到div里面有class = "IEpfq"的内容
12 
13 for img_list in img_class:
14     imgs = img_list.find_all('img')                         # 接着往下找到 img 标签
15     for img in imgs:
16         src = img['src']                                    # 以"src"为 key,找到 value
17         r = requests.get(src, stream=True)
18         image_name = 'unsplash_' + str(i) + '.jpg'          # 图片命名
19         i += 1
20         with open('./img/%s' % image_name, 'wb') as file:   # 打开文件  
21             for chunk in r.iter_content(chunk_size=1024):   # 以chunk_size = 1024的长度进行遍历
22                 file.write(chunk)                           
23         print('Saved %s' % image_name)

运行结果:

Saved unsplash_0.jpg
Saved unsplash_1.jpg
         ......
Saved unsplash_19.jpg
Saved unsplash_20.jpg    

  python3爬虫——下载unsplash美图到本地