python爬蟲實戰-下載圖片

要把一個網頁上的圖片載下來的話,可以用爬蟲把圖片網址篩選出來後
再把圖片載下來,以下是爬豆瓣首頁上的圖片

程式分兩大部分:篩選圖片網址和下載圖片

#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import lxml
import os
from urllib import urlretrieve
import sys


r1=requests.get('https://www.douban.com/') #豆瓣網站
soup=BeautifulSoup(r1.text,'lxml')
image=soup.find_all('div')


#下面的迴圈是找圖片網址再把結果放到陣列裡
links=[]
for d in image:
	if d.find('img'):        #再從div找img裡面的src  
		result=d.find('img')['src']
		print result
		links.append(result)

註解: 先抓出元素div的程式碼,再從中找出元素img裡的src也是圖片網址,再把每一筆結果放到陣列裡

#下面的迴圈是把剛存進陣列裡的結果做下載的動作
x=1
for link in links:
	local = os.path.join('D:\py\musicplayer\webcrawler save\image\%s.jpg' % x)
	urlretrieve(link,local) #link是下載的網址 local是儲存圖片的檔案位址
	x+=1


註解: 把剛才放到陣列裡的網址用for迴圈把結果叫出來
os.path.join 這行是存檔的位置
urlretrieve(link,local) link是網址,local是存檔的路徑

結果: