python批量爬取圖片的方法詳解

爬取的目標(biāo)網(wǎng)站為
https://sc.chinaz.com/tupian/qinglvtupian.html
如果爬取多頁(yè),需要依次遍歷每一頁(yè),經(jīng)過(guò)分析跳轉(zhuǎn)其它頁(yè)面的規(guī)律如下
https://sc.chinaz.com/tupian/qinglvtupian_N.html N從2開(kāi)始,除了第一頁(yè)不同,后面跳轉(zhuǎn)其它頁(yè)面規(guī)律相同
爬蟲(chóng)步驟
- 根據(jù)請(qǐng)求url地址獲取網(wǎng)頁(yè)源碼,使用requests庫(kù)
- 通過(guò)xpath解析源碼獲取需要的數(shù)據(jù)
- 獲取到數(shù)據(jù)下載到本地
爬取前十頁(yè)圖片到本地
根據(jù)頁(yè)碼獲取網(wǎng)絡(luò)源碼
def create_request(page):
if page == 1:
url = 'https://sc.chinaz.com/tupian/qinglvtupian.html'
else:
url = 'https://sc.chinaz.com/tupian/qinglvtupian_'+str(page)+'.html'
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'
}
request = urllib.request.Request(url,headers=header)
#獲取網(wǎng)絡(luò)源碼
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
return content
使用xpath解析網(wǎng)頁(yè)
使用xpath需要在chrome中安裝此插件,安裝xpath完成后,按alt+shift+x就會(huì)出現(xiàn)黑框
//img[@class="lazy"]/@alt #獲取圖片名稱(chēng) //img[@class="lazy"]/@data-original #獲取圖片地址

解析網(wǎng)頁(yè)并下載圖片
下載圖片、網(wǎng)頁(yè)、視頻使用的函數(shù)為urllib.request.urlretrieve()
def down_load(content):
tree = etree.HTML(content) #解析網(wǎng)頁(yè)數(shù)據(jù) 解析本地的html文件 etree.parse('D:/pages/test.html')
name_list = tree.xpath('//img[@class="lazy"]/@alt')
# 圖片會(huì)進(jìn)行懶加載
src_list = tree.xpath('//img[@class="lazy"]/@data-original')
for i in range(len(name_list)):
name = name_list[i]
src = src_list[i]
url = 'https:'+src
urllib.request.urlretrieve(url,filename='../loveImg/'+name+'.jpg')#先在當(dāng)前目錄下創(chuàng)建loveImg文件夾
主函數(shù)如下
if __name__ == '__main__':
start_page = int(input("開(kāi)始頁(yè)"))
end_page = int(input("結(jié)束頁(yè)"))
for page in range(start_page,end_page+1):
context = create_request(page)
down_load(context)
下載的圖片會(huì)在loveImg目錄

以上就是python批量爬取圖片的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于python批量爬取圖片的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于numpy強(qiáng)制類(lèi)型轉(zhuǎn)換的問(wèn)題
這篇文章主要介紹了關(guān)于numpy強(qiáng)制類(lèi)型轉(zhuǎn)換的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
關(guān)于安裝halcon包pycharm提示不全的問(wèn)題
很多小伙伴給小編反映在pycham上面安裝halcon對(duì)應(yīng)的安裝包之后,導(dǎo)入出現(xiàn)問(wèn)題,發(fā)現(xiàn)輸入ha.read 沒(méi)有自動(dòng)提示 ,只有幾個(gè)變量和方法,怎么解決這個(gè)問(wèn)題呢,下面小編給大家?guī)?lái)了安裝halcon包pycharm提示不全的問(wèn)題,一起看看吧2021-06-06
Python實(shí)現(xiàn)藍(lán)線挑戰(zhàn)特效的示例代碼
在抖音曾經(jīng)火了一陣子的藍(lán)線挑戰(zhàn)特效,其原理很簡(jiǎn)單。本文將試著用opencv-python實(shí)現(xiàn)這個(gè)效果,做了攝像頭版本和視頻處理版本,感興趣的可以學(xué)習(xí)一下2022-10-10
python實(shí)現(xiàn)zabbix發(fā)送短信腳本
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)zabbix發(fā)送短信腳本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
Python使用Nocalhost并開(kāi)啟debug調(diào)試的方法
Nocalhost是一種開(kāi)發(fā)者工具,支持針對(duì)Kubernetes應(yīng)用程序進(jìn)行調(diào)試和部署,這篇文章主要介紹了Python怎么使用Nocalhost并開(kāi)啟debug,需要的朋友可以參考下2023-04-04
使用python 計(jì)算百分位數(shù)實(shí)現(xiàn)數(shù)據(jù)分箱代碼
這篇文章主要介紹了使用python 計(jì)算百分位數(shù)實(shí)現(xiàn)數(shù)據(jù)分箱代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
python調(diào)用百度通用翻譯API的方法實(shí)現(xiàn)
本文主要介紹了python調(diào)用百度通用翻譯API的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01

