首頁  >  問答  >  主體

python - 怎麼用爬蟲批次抓取網頁中的圖片?

#如圖,透過network查看載入圖片,要一張一張右鍵保存很麻煩,有沒有辦法寫個爬蟲批量抓取這裡的圖片》?

给我你的怀抱给我你的怀抱2694 天前1165

全部回覆(3)我來回復

  • 仅有的幸福

    仅有的幸福2017-06-28 09:27:48

    這個需求, 如果你會爬蟲其實很簡單, 不外乎幾個步驟:

    1. 首頁或有圖片的頁面, 透過正規或其他框架, 取得圖片的url

    2. 透過requests庫或urllib庫, 訪問上面圖片url的地址

    3. 以二進位的形式, 寫入本地硬碟

    參考碼:

    import re, requests
    
    r = requests.get("http://...页面地址..")
    p = re.compile(r'相应的正则表达式匹配')
    image = p.findall(r.text)[0]  # 通过正则获取所有图片的url
    ir = requests.get(image)      # 访问图片的地址
    sz = open('logo.jpg', 'wb').write(ir.content)  # 将其内容写入本地
    print('logo.jpg', sz,'bytes')
    

    更多詳情, 可以參考學習requests官方文件: requests文件

    回覆
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-28 09:27:48

    可以的,
    爬蟲五個部分:
    調度程序
    url去重
    下載器
    網頁解析
    資料存儲
    對於下載圖片的思路是:
    獲取圖片所在網頁內容,解析img標籤,得到圖片地址,然後便利圖片網址,下載每張圖片,將下載過的圖片地址保存在布隆過濾器中,避免重複下載,每次下載一張圖片時,通過網址檢查是否下載過,當圖片下載到本地後,可以將圖片路徑保存在資料庫中,圖片檔案保存在資料夾中,或直接將圖片儲存在資料庫中。
    python使用request+beautifulsoup4
    java使用jsoup

    回覆
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-28 09:27:48

    如果多個網站或一個網站需要爬到很深的情況下,樓上的方式直接遞歸或深度遍歷就OK

    回覆
    0
  • 取消回覆