利用python抓取網絡圖片的步驟是:
1、根據給定的網址獲取網頁源代碼
2、利用正則表達式把源代碼中的圖片地址過濾出來
3、根據過濾出來的圖片地址下載網絡圖片
以下是比較簡單的一個抓取某一個網頁的圖片的實現:
# -*- coding: utf-8 -*- import urllib import re def main(): # 利用urllib2的urlopen方法,下載當前url的網頁內容 req = urllib2.urlopen('http://www.imooc.com/course/list') # 將網頁內容存儲到buf變量中 buf = req.read() # 將buf中的所有內容與需要匹配的url進行比對。這里的正則表達式是根據靜態網頁的源碼得出的,查看靜態網頁源碼開啟開發者模式,按F12即可。然后確定圖片塊,查看對應源碼內容,找出規律,編寫正則表達式。 listurl = re.findall(r'src=.+\.jpg',buf) i = 0 # 將結果循環寫入文件 for url in listurl: f = open(str(i)+'.jpg','w') req = urllib2.urlopen(url[5:]) buf1 = req.read() f.write(buf1) i+=1 if __name__ == '__main__': main()
這里使用的網頁下載器是python自帶的urllib2,然后利用正則表達式匹配,輸出結果。
運行結果