Python2下載單張圖片和爬取網頁圖片


一、需求分析

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相關的知識。

 1 # -*- coding:utf-8 -*
 2 '''
 3 知道圖片地址,下載圖片到本地
 4 '''
 5 import urllib
 6 
 7 #圖片url地址
 8 url = 'http://p1.wmpic.me/article/2017/12/22/1513930326_ciDepIns_215x185.jpg'
 9 #方法一
10 #獲取圖片數據
11 res = urllib.urlopen(url).read()
12 #文件要保存的路徑名和文件名
13 path = "e:\dlimg\pic2.jpg"
14 #使用io寫入圖片
15 f = open(path , "wb")
16 f.write(res)
17 f.close()
18 #方法二
19 res2 = urllib.urlretrieve(url , 'e:\dlimg\pic3.jpg')

B.知道網頁地址,將圖片列表中的圖片全部下載到本地。

b1、還是以上面的網頁為爬取對象,在該網頁下,圖片列表中有30張照片,獲取每張圖片的src屬性值,再來下載即可。

b2、利用BeautifulSoup解析網頁,利用標簽選擇器獲取每張圖片的src屬性值。

b3、編寫代碼。

 1 #  -*- coding: utf-8 -*-
 2 
 3 import requests
 4 import urllib
 5 from bs4 import BeautifulSoup
 6 
 7 url = 'http://www.wmpic.me/tupian/qingxin'
 8 res = requests.get(url)
 9 #使用BeautifulSoup解析網頁
10 soup = BeautifulSoup(res.text , 'html.parser')
11 #通過標簽選擇器定位到圖片位置(與css選擇器差不多)
12 pic_list = soup.select('.item_box .post a img')
13 i = 0
14 for img_url in pic_list:
15     #獲取每個img標簽的src屬性
16     url_list = img_url['src']
17     #保存路徑,后面是文件名
18     save_path = 'E:\dlimg\\'+'downloadpic_'+str(i)+'.jpg'
19     #解析圖片,寫入到本地
20     pic_file = urllib.urlopen(url_list).read()
21     f = open(save_path, "wb")
22     f.write(pic_file)
23     f.close()
24     i = i+1

C.運行結果(紅色框中pic2.jpg和pic3.jpg是A步驟運行結果,其余以downloadpic_*.jpg命名的圖片是步驟B的運行結果)

 

文章首發於我的個人公眾號:悅樂書。喜歡分享一路上聽過的歌,看過的電影,讀過的書,敲過的代碼,深夜的沉思。期待你的關注!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM