python3爬蟲——下載unsplash美圖到本地


 

最近發現一個網站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    

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM