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)文章
python爬蟲(chóng)的一個(gè)常見(jiàn)簡(jiǎn)單js反爬詳解
這篇文章主要介紹了python爬蟲(chóng)的一個(gè)常見(jiàn)簡(jiǎn)單js反爬詳解我們?cè)趯?xiě)爬蟲(chóng)是遇到最多的應(yīng)該就是js反爬了,今天分享一個(gè)比較常見(jiàn)的js反爬,我把js反爬分為參數(shù)由js加密生成和js生成cookie等來(lái)操作瀏覽器這兩部分,需要的朋友可以參考下2019-07-07python爬蟲(chóng)基礎(chǔ)之urllib的使用
這篇文章主要介紹了python爬蟲(chóng)基礎(chǔ)之urllib的使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12python使用Faker進(jìn)行隨機(jī)數(shù)據(jù)生成
大家好,本篇文章主要講的是python使用Faker進(jìn)行隨機(jī)數(shù)據(jù)生成,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02python實(shí)現(xiàn)高斯判別分析算法的例子
今天小編就為大家分享一篇python實(shí)現(xiàn)高斯判別分析算法的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解
這篇文章主要給大家介紹了關(guān)于Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08