爬虫实战学习笔记_7 【实战】模拟下载页面视频(模板)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                爬虫实战学习笔记_7 【实战】模拟下载页面视频(模板)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            import requests     # 導入requests模塊
import re           # 導入re模塊
import os           # 導入系統os模塊# 實現發送網絡請求,返回響應結果
def send_request(url,headers):response = requests.get(url=url,headers=headers)  # 發送網絡請求if response.status_code==200:html_str = response.text                 # 獲取HTML代碼return html_str                          # 返回HTML代碼# 實現獲取視頻標題、地址并下載視頻
def download_video(html_str):video_urls = re.findall('<source src="(.*?)"',html_str)   # 提取當前頁面中所有視頻地址# 提取所有視頻的標題文字titles = re.findall('<div class="content">\n<span>\n\n\n(.*?)\n\n</span>\n\n</div>',html_str)for title,video_url in zip(titles,video_urls):size = 0  # 記錄每次寫入大小的變量video_url= 'https:'+video_url    # 將視頻地址補充完整video_response = requests.get(url=video_url,headers=headers)    # 向視頻下載地址發送網絡請求chunk_size = 10                             # 單次請求最大值content_size = int(video_response.headers['content-length'])    # 獲取視頻內容的總大小if not os.path.exists('video'):               # 判斷pic文件夾是否存在os.mkdir('video')                        # 創建pic文件夾with open('video/'+title+'.mp4','wb') as f:# 循環寫入,實現一段一段的寫for data in video_response.iter_content(chunk_size=chunk_size):f.write(data)             # 寫入視頻數據f.flush()                 # 刷新緩存size+=len(data)           # 疊加計算每次寫入數據的變化# 打印下載進度print('\r'+title+'視頻文件下載進度:%d%%(%d/%d)'%(float(size/content_size*100),size,content_size),end=' ')if __name__ == '__main__':# 定義請求地址url = 'https://www.某視頻網站.com/video/'# 定義請求頭信息headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4503.5 Safari/537.36'}html_str = send_request(url=url,headers=headers)  # 調用發送網絡請求的方法download_video(html_str=html_str)                 # 調用下載視頻的方法
 
                            
                        
                        
                        總結
以上是生活随笔為你收集整理的爬虫实战学习笔记_7 【实战】模拟下载页面视频(模板)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: linux中的加法函数,上下文管理练习(
- 下一篇: 智慧交通day02-车流量检测实现14:
