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

2018-08-17 09:49:05来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 

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

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

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

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

 

 可以看到,图片 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    

  

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python并发之多进程

下一篇:Python开发【第四篇】函数