首頁 >後端開發 >Python教學 >python爬蟲入門實戰之爬取網頁圖片

python爬蟲入門實戰之爬取網頁圖片

WBOY
WBOY轉載
2022-07-11 12:06:362985瀏覽

這篇文章為大家帶來了關於Python的相關知識,其中主要整理了爬取網頁圖片的相關問題,要想高效的獲取數據,爬蟲是非常好用的,而用python做爬蟲也十分簡單方便,下面透過一個簡單的小爬蟲程序來看一看寫爬蟲的基本過程,下面一起來看一下,希望對大家有幫助。

python爬蟲入門實戰之爬取網頁圖片

【相關推薦:Python3影片教學

在現在這個資訊爆炸的時代,要想高效的獲取數據,爬蟲是非常好用的。而用python做爬蟲也十分簡單方便,下面透過一個簡單的小爬蟲程式來看一看寫爬蟲的基本過程:

準備工作

語言: python

IDE:pycharm

首先是要用到的函式庫,因為是剛入門最簡單的程序,我們主要就用到下面這兩:

import requests //用于请求网页
import re  //正则表达式,用于解析筛选网页中的信息

其中re是python自帶的,requests函式庫需要我們自己安裝,在命令列中輸入pip install requests即可。

然後隨便找一個網站,注意不要嘗試爬取隱私敏感信息,這裡找了個表情包網站:

註:此處表情包網站中的內容本來就可以免費下載,所以爬蟲只是簡化了我們一個個點的流程,注意不能爬取付費資源。

我們要做的就是透過爬蟲把這些表情包下載到我們電腦裡。

寫爬蟲程式

首先肯定要透過python造訪這個網站,程式碼如下:

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0'
    }
response = requests.get('https://qq.yh31.com/zjbq/',headers=headers)  //请求网页

其中之所以要加headers這一段是因為有些網頁會辨識到你是透過python請求的然後把你拒絕,所以我們要換個正常的請求頭。可以隨便找一個或f12從網路資訊複製一個。

然後我們要找到我們要爬取的圖片在網頁程式碼裡的位置,f12查看原始程式碼,找到表情符號如下:

 

 接著建立符合規則,用正規表示式把中間那串替換掉,最簡單的就是.*?

t = '<img src="(.*?)" alt="(.*?)" width="160" height="120">'

 像這樣。

然後就可以呼叫re庫裡的findall方法把相關內容爬下來了:

result = re.findall(t, response.text)

返回的內容是由字串組成的列表,最後我們經由爬到的地址通過python語句把圖片下來存到資料夾裡就行了。

程式碼

import requests
import re
import os

image = '表情包'
if not os.path.exists(image):
    os.mkdir(image)
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0'
    }
response = requests.get('https://qq.yh31.com/zjbq/',headers=headers)
response.encoding = 'GBK'
response.encoding = 'utf-8'
print(response.request.headers)
print(response.status_code)
t = '<img src="(.*?)" alt="(.*?)" width="160" height="120">'
result = re.findall(t, response.text)
for img in result:
    print(img)
    res = requests.get(img[0])
    print(res.status_code)
    s = img[0].split('.')[-1]  #截取图片后缀,得到表情包格式,如jpg ,gif
    with open(image + '/' + img[1] + '.' + s, mode='wb') as file:
        file.write(res.content)

最後結果就是這個樣子:

【相關推薦:Python3影片教學

以上是python爬蟲入門實戰之爬取網頁圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除