用python抓取網頁的圖片

python抓取數據

想要做數據分析師就要知道如何將網頁上的數據獲取。
比如我要去獲取http://pic.netbian.com/4kdongman/index_2.html這個網頁裏所有的圖片。

  1. 首先電腦裏應該先有安裝python和配置好python的環境變量。
  2. 然後我要先建一個文件夾,用來存我抓取到的圖片,這個文件夾要建在和我要寫python代碼的py文件同一個目錄裏。

在這裏插入圖片描述

  1. 然後將代碼寫到我建好的getimages.py中並保存。
 #導入模塊
import requests

#找網址
url='http://pic.netbian.com/4kdongman/index_2.html'

res =requests.get(url)

res.encoding='gbk'

from bs4 import BeautifulSoup

html=BeautifulSoup(res.text,'html.parser')

#檢查 找到圖片所在的列表,並找到列表的類名
parent=html.find('ul',class_='clearfix')
#找到列表中的圖片
images=parent.find_all('img')

from urllib import request
for each in images:
    #找到圖片的網址
    img_url='http://pic.netbian.com'+each.attrs['src']
    #print(img_url)
    name=each.attrs['alt']
    #print(name)
    #將圖片存到images文件夾中
    request.urlretrieve(img_url,f'imagess/{name}.jpg')
  1. 然後在這個目錄頂端輸入cmd進入到運行窗口。
    在這裏插入圖片描述
  2. 然後再運行窗口裏寫入 python getimages.py 然後回車,這樣我就把這個網頁的圖片扣下來存到我的imagess文件夾中了。
    在這裏插入圖片描述

如果要抓多頁的數據的話就在 import requests(導入模塊)和找網址之間加個循環(注意循環以下代碼全都要tab或四個空格縮進一下)↓↓↓

#要抓取的頁數
all=15
#從第一頁開始循環,一直到第十五頁
for pageNum in range(1,all+1):

然後在要抓取的網頁鏈接的.html前面的數字改成{pageNum}
這樣就可以瘋狂的抓取到了15頁的所有圖片啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章