1. 程式人生 > >python爬蟲爬取好看的圖片

python爬蟲爬取好看的圖片

遇到好看的圖片你還在一張張用滑鼠點選儲存?作為一個IT從業者那就out了。。。必須高大上起來大笑

今天給大家介紹如何用爬蟲爬取好看的圖片,話不多說,開始。。。。。

首先小夥伴們需要確保自己已經安裝了python和pip,並且已經配置好了環境變數,接下來需要安裝今天所用到的第三方庫,requests和BeautifulSoup(這是已經安裝好的,大家可以使用pip install命令進行安裝)


安裝完成後就開始我們今天的爬蟲過程,先上程式碼

#-*- coding:utf-8 -*-


import requests

from bs4 import BeautifulSoup

def get_html(urllist):

    res = requests.get(urllist)

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

    src = soup.find_all("img",class_="BDE_Image")

    return src


def write_img(url):

    for link in url:

        picurl = link.get('src')

        picres = requests.get(picurl).content

        file = open(r"C:\images\%s.jpg"%picurl[-9:-4],"wb")

        file.write(picres)

    file.close()


url = get_html("https://tieba.baidu.com/p/5254036393")

write_img(url)

最後爬出的效果如下


下面一行一行解釋一下實現的過程

import requests#匯入requests模組

from bs4 import BeautifulSoup#匯入BeautifulSoup模組

def get_html(urllist):

    res = requests.get(urllist)#獲取網頁請求

    soup = BeautifulSoup(res.text, 'html.parser')#將網頁轉化為soup物件標準xml輸出

    src = soup.find_all("img",class_="BDE_Image")#找到所有img標籤,並且class=BDE_Image的項

    return src#返回image物件集合


def write_img(url):

    for link in url:

        picurl = link.get('src')#獲取image的url

        picres = requests.get(picurl).content#獲取image二進位制流資料

        file = open(r"C:\images\%s.jpg"%picurl[-9:-4],"wb")#建立圖片

        file.write(picres)#寫入

    file.close()#關閉

過程中最主要的是如何找到image的url,首先開啟需要下載圖片的網頁,按F12開啟開發者工具,然後在網頁原始碼中查詢image的地址


從網頁原始碼中可以看出,所以得圖片都具有某一種共性,如都是img標籤且class都為BDE_Image,因此可以BeautifulSoup的方法或者正則表示式提取出所有的image地址,然後將圖片儲存下來。

當然爬取圖片的方法有很多種比如使用urllib2庫等,各位小夥伴可以根據實際情況挑選一種適合自己的方法,接下來就可以裝X了。。。。大笑