requests + BeautifulSoup + urllib 爬取并下載網(wǎng)站圖片到本地(一)

這一篇主要寫使用 requests + BeautifulSoup + urllib 下載圖片保存到本地,下一篇寫下載整站詳情頁的圖片保存到本地(敬請期待)

爬取網(wǎng)絡(luò)上的數(shù)據(jù)其實(shí)很簡單,只要掌握基本邏輯就好了。

  1. 找到網(wǎng)站;
  2. 分析所需數(shù)據(jù)的 HTML 節(jié)點(diǎn);
  3. 把數(shù)據(jù)下載到本地或者存儲到數(shù)據(jù)庫

那好,廢話不多說,開始吧!


準(zhǔn)備工作

  • 開發(fā)環(huán)境:Windows,Pycharm,Request,BeautifulSoup,urllib
  • 需要一定的 Python 爬蟲、HTML 基礎(chǔ)

開始動(dòng)身

  • 明確目標(biāo)
    本次要爬取的網(wǎng)站是 帥啊 網(wǎng) (點(diǎn)開看一下,有驚喜哦~[壞笑].png)
    我們需要把網(wǎng)站第一頁所有 item 的圖片下載到本地

  • 制作爬蟲

    1. 由于獲取下來的 html 編碼格式不對,所以要指定編碼格式為 utf-8
    2. 獲取頁面中每個(gè) item 的圖片標(biāo)簽
    3. 循環(huán)獲取標(biāo)簽的圖片鏈接(src)和圖片名(alt)
    4. 下載圖片到本地
from bs4 import BeautifulSoup
import requests
import os
import urllib.request
import time

headers = {
    "Cookie": "UM_distinctid=16685e0279d3e0-06f34603dfa898-36664c08-1fa400-16685e0279e133; bdshare_firstime=1539844405694; gsScrollPos-1702681410=; CNZZDATA1254092508=1744643453-1539842703-%7C1539929860; _d_id=0ba0365838c8f6569af46a1e638d05",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
}
path = "D://images/"

def get_links(url):
    wb_data = requests.get(url, headers=headers)  # 加入 headers,避免被網(wǎng)站的反爬機(jī)制認(rèn)為是蜘蛛
    wb_data.encoding = "utf-8"
    soup = BeautifulSoup(wb_data.text, 'lxml')

    links = soup.select(".item-img img")
    if not os.path.exists(path):  # 判斷該文件夾是否存在,不存在則創(chuàng)建
        os.mkdir(path)
    for link in links:
        time.sleep(1)  # 暫停一秒,避免訪問過快被反爬機(jī)制認(rèn)為是蜘蛛
        img = link.get("src")
        img_name = link.get("alt")
        urllib.request.urlretrieve(img, path + img_name + ".jpg")
        print("-------- downloading ---------")

    print("------ download done -------")

if __name__ == "__main__":

    get_links("http://www.shuaia.net/index.html")
  • 開始爬取



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 那條膽敢縱身一躍的魚: 外面的世界很美,有青草,有陽光,有落葉,有余輝,有溪流,有林木…… 或許你在飛躍你的世界時(shí)...
    孟小苒閱讀 587評論 0 2
  • 加油
    夏了西瓜閱讀 178評論 0 0
  • 2017年7月26日凌晨一點(diǎn)四十分,從你響亮的啼哭聲響起,我知道我終于把你生下來了,我很想洗個(gè)熱水澡好好的...
    玥爾成詩閱讀 319評論 0 0

友情鏈接更多精彩內(nèi)容