Python2下載單張圖片和爬取網頁圖片
阿新 • • 發佈:2019-01-27
一、需求分析
1、知道圖片的url地址,將圖片下載到本地。2、知道網頁地址,將圖片列表中的圖片全部下載到本地。
二、準備工作
1、開發系統:win7 64位。2、開發環境:python2.7。
3、開發工具:PyCharm。
4、瀏覽器:Chrome。
三、操作步驟
A.知道圖片的url地址,將圖片下載到本地。a1、開啟Chrome,隨意找到一個圖片網站。
a2、開啟開發者工具(f12鍵或者fn+f12鍵),選擇第一張圖片,可以看到它的src屬性就是圖片的地址,複製出來。
a3、編寫程式碼。這裡需要引用urllib庫以及使用Python IO相關的知識。
B.知道網頁地址,將圖片列表中的圖片全部下載到本地。# -*- coding:utf-8 -* ''' 知道圖片地址,下載圖片到本地 ''' import urllib #圖片url地址 url = 'http://p1.wmpic.me/article/2017/12/22/1513930326_ciDepIns_215x185.jpg' #方法一 #獲取圖片資料 res = urllib.urlopen(url).read() #檔案要儲存的路徑名和檔名 path = "e:\dlimg\pic2.jpg" #使用io寫入圖片 f = open(path , "wb") f.write(res) f.close() #方法二 res2 = urllib.urlretrieve(url , 'e:\dlimg\pic3.jpg')
b1、還是以上面的網頁為爬取物件,在該網頁下,圖片列表中有30張照片,獲取每張圖片的src屬性值,再來下載即可。
b2、利用BeautifulSoup解析網頁,利用標籤選擇器獲取每張圖片的src屬性值。
b3、編寫程式碼。
C.執行結果(紅色框中pic2.jpg和pic3.jpg是A步驟執行結果,其餘以downloadpic_*.jpg命名的圖片是步驟B的執行結果)# -*- coding: utf-8 -* import requests import urllib from bs4 import BeautifulSoup url = 'http://www.wmpic.me/tupian/qingxin' res = requests.get(url) #使用BeautifulSoup解析網頁 soup = BeautifulSoup(res.text , 'html.parser') #通過標籤選擇器定位到圖片位置(與css選擇器差不多) pic_list = soup.select('.item_box .post a img') i = 0 for img_url in pic_list: #獲取每個img標籤的src屬性 url_list = img_url['src'] #儲存路徑,後面是檔名 save_path = 'E:\dlimg\\'+'downloadpic_'+str(i)+'.jpg' #解析圖片,寫入到本地 pic_file = urllib.urlopen(url_list).read() f = open(save_path, "wb") f.write(pic_file) f.close() i = i+1
文章首發於我的個人公眾號:悅樂書。喜歡分享一路上聽過的歌,看過的電影,讀過的書,敲過的程式碼,深夜的沉思。期待你的關注!