首先我們可以得到要下載圖片的整頁信息。
getjpg.py
#編碼=utf-8
導入urllib
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
返回html
打印html
Urllib模塊提供了壹個從網頁讀取數據的接口。我們可以從www和ftp上讀取數據,就像讀取本地文件壹樣。首先,我們定義壹個getHtml()函數:
網址。URL()方法用於打開壹個URL地址。
read()方法用於讀取URL上的數據,將URL傳遞給getHtml()函數,並下載整個頁面。執行程序將打印出整個網頁。
其次,過濾頁面中所需的數據
Python提供了非常強大的正則表達式,我們需要先了解壹點Python正則表達式。
如果我們在百度貼吧裏發現了壹些很漂亮的壁紙,可以查看壹下上壹段的工具。找到了圖片的地址,比如:src = "/70 cfying qfm 2 e 88 ium _ a/forum...jpg" pic _ ext = "JPEG "
按如下方式修改代碼:
進口re
導入urllib
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
返回html
def getImg(html):
reg = r'src= "(。+?\.jpg)" pic_ext '
imgre =重新編譯(reg)
imglist = re.findall(imgre,html)
返回imglist
打印getImg(html)
我們還創建了getImg()函數,用於過濾整個頁面中所需的圖片連接。Re模塊主要包含正則表達式:
Re.pile()可以將正則表達式編譯成正則表達式對象。
re.findall()方法讀取html中包含imgre(正則表達式)的數據。
運行該腳本將獲得包含在整個頁面中的圖片的URL地址。
第三,將頁面過濾後的數據保存到本地
通過for循環遍歷過濾後的圖像地址,並將其保存在本地。代碼如下:
#編碼=utf-8
導入urllib
進口re
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
返回html
def getImg(html):
reg = r'src= "(。+?\.jpg)" pic_ext '
imgre =重新編譯(reg)
imglist = re.findall(imgre,html)
x = 0
對於imglist中的imgurl:
urllib.urlretrieve(imgurl,' %s.jpg' % x ')
x+=1
打印getImg(html)
這裏的核心是使用urllib.urlretrieve()方法將遠程數據直接下載到本地。
通過for循環遍歷獲得的圖像連接。為了讓圖像的文件名看起來更規範,對其進行了重命名,命名規則是在X變量上加1。保存位置默認為程序的存儲目錄。
程序運行後,妳會在目錄中看到下載的文件。轉載僅供參考。