我們最常用的方法是點擊鼠標右鍵並選擇另存為。但是當妳右擊壹些圖片時沒有另存為選項,還有另外壹種方法可以通過截圖工具截取,但是這樣會降低圖片的清晰度。嗯,其實妳很好。右擊查看頁面源代碼。
我們可以用python?實現這麽簡單的爬蟲功能,把我們想要的代碼抓取到本地。讓我們來看看如何使用python來實現這樣的功能。
具體步驟
獲取整頁數據。首先,我們可以獲得要下載的圖片的整個頁面信息。
getjpg.py
# coding = utf-8 import urllibdef getHtml(URL):
page = urllib.urlopen(url)
html = page.read()返回html
html = get html(" blogs . com/fnng/archive/2013/05/20/3089816 . html
如果我們在百度貼吧裏發現了壹些很漂亮的壁紙,可以查看壹下上壹段的工具。找到了圖片的地址,比如:src = "/forum...jpg" pic _ ext = "JPEG "
按如下方式修改代碼:
導入重新導入urllibdef getHtml(url):
page = urllib.urlopen(url)
html = page . read()return html def getImg(html):
reg = r'src= "(。+?\.jpg)" pic_ext '
imgre =重新編譯(reg)
imglist = re.findall(imgre,html)返回imglist?
html = get html("/p/2460150866 ")print getImg(html)
我們還創建了getImg()函數,用於過濾整個頁面中所需的圖片連接。Re模塊主要包含正則表達式:
重新編譯()?您可以將正則表達式編譯成正則表達式對象。
re.findall()?方法來讀取html?包含在?Imgre(正則表達式)數據。
運行該腳本將獲得包含在整個頁面中的圖片的URL地址。
3.將頁面過濾後的數據保存在本地。
通過for循環遍歷過濾後的圖像地址,並將其保存在本地。代碼如下:
# coding = utf-8 import URL libimport redef get html(URL):
page = urllib.urlopen(url)
html = page . read()return html def getImg(html):
reg = r'src= "(。+?\.jpg)" pic_ext '
imgre =重新編譯(reg)
imglist = re.findall(imgre,html)
imglist中imgurl的x = 0:
urllib.urlretrieve(imgurl,' %s.jpg' % x ')
x+= 1 html = getHtml("/p/2460150866 ")print getImg(html)
這裏的核心是使用urllib.urlretrieve()方法將遠程數據直接下載到本地。
通過for循環遍歷獲得的圖像連接。為了讓圖像的文件名看起來更規範,對其進行了重命名,命名規則是在X變量上加1。保存位置默認為程序的存儲目錄。
程序運行後,妳會在目錄中看到下載的文件。