用網路爬蟲爬取該網頁所有頁碼的所有圖片
阿新 • • 發佈:2019-02-20
import urllib.request import time import re global x # 使用前初次宣告 x=1 #獲取網頁的html,與requests包一樣的功能 def getHtml(url): #開啟網頁 page = urllib.request.urlopen(url) htmlcode = page.read() return htmlcode #獲取圖片對應的src屬性程式碼 def getImg(html): global x # 再次宣告,表示在這裡使用的是全域性而非區域性 html=html.decode('utf-8') #通過re-compile-findall二連函式操作來獲取圖片src屬性對應的程式碼 src = r'https://[^\s]*?\.jpg' imgre = re.compile(src) #re.compile(),可以把正則表示式編譯成一個正則表示式物件 imglist = re.findall(imgre, html) #re.findall(),讀取html中包含imgre(正則表示式)的資料,imglist是包含了所有src元素的陣列 #用urlretrieve下載圖片。圖片命名為0/1/2...之類的名字 for imgurl in imglist: name = time.strftime("%Y_%m_%d",time.localtime()) + '_' + str(x) #注意,這裡的檔案路徑,每段路徑的首字母一定要大寫!!小寫會識別出錯 urllib.request.urlretrieve(imgurl, r'C:\Users\aming\Desktop\K\%s.jpg' % name) x += 1 for i in range(2,4): html = getHtml("https://tieba.baidu.com/p/2460150866?pn=" + str(i)) getImg(html)