溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python如何批量爬取某網(wǎng)站圖片

發(fā)布時間:2021-11-25 14:04:53 來源:億速云 閱讀:466 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)Python如何批量爬取某網(wǎng)站圖片的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1.需要用到的庫有:

Requests re os time 如果沒有安裝的請自己安裝一下,pycharm中打開終端輸入命令就可以安裝

Python如何批量爬取某網(wǎng)站圖片

IDE : pycharm

python 版本: 3.8.1

2.爬取地址:

https://www.vmgirls.com/9384.html

-------------------廢話不多說了,不懂的可以給我留言哦,接下來我們一步一步來操作------------------

1.請求網(wǎng)頁

# 請求網(wǎng)頁
import requests
 response=requests.get('https://www.vmgirls.com/9384.html')
print(response.text)

發(fā)現(xiàn)請求到的是403,直接禁止了我們訪問,requests庫會告訴他我們是python過來的,他知道我們是一個python禁止我們反爬

Python如何批量爬取某網(wǎng)站圖片

解決:

我們可以偽裝頭,把頭設(shè)置一下

# 請求網(wǎng)頁
import requests
headers={       'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'
}response=requests.get('https://www.vmgirls.com/9384.html',headers=headers)
print(response.request.headers)

執(zhí)行結(jié)果:

這樣頭就偽裝了

Python如何批量爬取某網(wǎng)站圖片

2.解析網(wǎng)頁

# 請求網(wǎng)頁
import requests
import reheaders={       'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'
}response=requests.get('https://www.vmgirls.com/9384.html',headers=headers)
# print(response.request.headers)
# print(response.text)
html=response.text#解析網(wǎng)頁urls=re.findall('<img alt=".*?">

 結(jié)果:

Python如何批量爬取某網(wǎng)站圖片

可能對re.findall后面不太理解怎么來的,關(guān)鍵就是要找到圖片的dom然后根據(jù)re庫的一個匹配規(guī)則來匹配,要匹配的用(.*?)來表示,不需要匹配的用.*?來代替就可以了,

打開網(wǎng)址,按f12查看源碼找到圖片的代碼

Python如何批量爬取某網(wǎng)站圖片

復(fù)制圖片代碼,打開網(wǎng)頁源碼按 ctrl+f 進行搜索,找到圖片源碼的位置

3.保存圖片

具體可以看源碼,我給這些圖片創(chuàng)建了一個文件夾(需要os庫),并且命了名,這樣分類下次看小姐姐就比較容易找到啦

Python如何批量爬取某網(wǎng)站圖片

import time
import requestsimport reimport  osheaders={       'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'
}response=requests.get('https://www.vmgirls.com/9384.html',headers=headers)
# print(response.request.headers)
# print(response.text)
html=response.text# 解析網(wǎng)頁# 目錄名字dir_name=re.findall('<img alt="(.*?)">

感謝各位的閱讀!關(guān)于“Python如何批量爬取某網(wǎng)站圖片”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI