想一想,還是寫個完整的代碼,總結一下前面學的吧。
import requests import re # 獲取網頁源碼 url = 'http://www.ivsky.com/tupian/xiaohuangren_t21343/' data = requests.get(url).text #正則表達式三部曲 #<img src="http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren-009.jpg" width="135" height="135" alt="卑鄙的我小黃人圖片"> regex = r'<img src="(.*?.jpg)"'#匹配網址 pa = re.compile(regex)#轉為pattern對象 ma = re.findall(pa, data)#findall 方法找到所有的符合pa的對象,添加到一個列表中並返回 #print(ma)#圖片網址列表 print('本次爬取共獲取圖片'+str(len(ma))+'張')#列表長度,即找到圖片個數 i = 0#這里的i, 只是為了給圖片命名。。。 for imgurl in ma: i += 1 print('正在爬取'+imgurl) imgdata = requests.get(imgurl).content with open(str(i)+'.jpg', 'wb') as f: f.write(imgdata) print('爬取完畢!')
放幾張程序輸出的圖。