Python使用BeautifulSoup解析并獲取圖片的實戰(zhàn)分享
一、前言
在本文我們將以下面的例子帶著大家去看看在實戰(zhàn)中是如何運用的。
目標url:https://www.58pic.com/tupian/1272.html
二、數(shù)據(jù)分析
根據(jù)下圖所示,圖片被保存至img標簽下,并且class值為lazy。當然這個網(wǎng)站除了lazy的img標簽還有其他的(比如:class="lazy-bg-img"
),這個可以自己想辦法處理一下,如何去獲取所有跟圖片有關的img標簽。
三、數(shù)據(jù)獲取及展示
數(shù)據(jù)獲取
''' 爬蟲: ? 目標網(wǎng)站:https://www.58pic.com/c/27075257 ? 任務需求:1、抓取第一頁前36張圖片 2、使用bs4解析 ''' import time ? import requests from bs4 import BeautifulSoup ? ? class Image(object): def __init__(self): self.headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.62' } ? def parse_url(self,url): print('開始分析') resp = requests.get(url,headers=self.headers) #print(resp.text) if resp.status_code == 200: soup = BeautifulSoup(resp.text,'lxml') image_list = soup.find_all('img',class_='lazy-bg-img',limit=36) #print(image_list) for data in image_list: title = data.get('alt') # print(title) print(f"開始下載 {title}") img_url = 'https:'+data.get('data-original') self.image_save(title,img_url) else: return None ? def image_save(self,title,url): resp = requests.get(url,headers=self.headers) content = resp.content with open('./img/'+title+'.jpg',mode='wb')as f: f.write(content) ? if __name__ == '__main__': t = time.time() url='https://www.58pic.com/tupian/1272.html' image = Image() image.parse_url(url) print("總共耗時:",time.time()-t)
最終效果展示
四、結語
根據(jù)示例,我們會發(fā)現(xiàn)通過bs4解析可以很快速的根據(jù)標簽的特殊性得到我們想要的數(shù)據(jù)。但要注意,有時候我們得到的響應內容會與F12打開看到的不同,所有在發(fā)現(xiàn)沒有拿到數(shù)據(jù)的時候,請考慮我們得到的相應內容里面究竟是什么樣子的。
到此這篇關于Python使用BeautifulSoup解析并獲取圖片的實戰(zhàn)分享的文章就介紹到這了,更多相關Python BeautifulSoup獲取圖片內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python socket如何實現(xiàn)服務端和客戶端數(shù)據(jù)傳輸(TCP)
這篇文章主要介紹了Python socket如何實現(xiàn)服務端和客戶端數(shù)據(jù)傳輸(TCP),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Python for Informatics 第11章 正則表達式(一)
這篇文章主要介紹了Python for Informatics 第11章 正則表達式(一)的相關資料,需要的朋友可以參考下2016-04-04Python3實現(xiàn)爬取簡書首頁文章標題和文章鏈接的方法【測試可用】
這篇文章主要介紹了Python3實現(xiàn)爬取簡書首頁文章標題和文章鏈接的方法,結合實例形式分析了Python3基于urllib及bs4庫針對簡書網(wǎng)進行文章抓取相關操作技巧,需要的朋友可以參考下2018-12-12