#!/usr/python3 import urllib.request # 導入urllib中的request類 import re # 導入 re 模塊 主要包含了正則表達式 def gethtml(url): page=urllib.request.urlopen(url) # 用於打開一個URL地址。 html=page.read() # 用於讀取URL上的數據,向gethtml()函數傳遞一個網址,並把整個頁面下載下來。執行程序就會把整個網頁打印輸出。 return html def getimg(html): reg = r'src="(.*?\.jpg)"'#抓取圖片的正則表達式 img=re.compile(reg) #可以把正則表達式編譯成一個正則表達式對象. html=html.decode('utf-8') #python3 imglist=re.findall(img,html) #方法讀取html 中包含 imgre(正則表達式)的數據。 x = 0 for imgurl in imglist: urllib.request.urlretrieve(imgurl,'%s.jpg'%x) #這裏的核心是用到了urllib.urlretrieve()方法,直接將遠程數據下載到本地。 x = x+1 #通過一個for循環對獲取的圖片連接進行遍歷,爲了使圖片的文件名看上去更規範,對其進行重命名,命名規則通過x變量加1。保存的位置默認爲程序的存放目錄。 #程序運行完成,將在目錄下看到下載到本地的文件。 html=gethtml("https://tieba.baidu.com/p/5385194399") print(getimg(html))
Python 實現簡單的爬蟲功能: 圖片的抓取
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.