一段完整的批量下載網站視頻資源的python爬蟲代碼(附注解)


# 本程序為學習代碼,成功爬取了'梨視頻'網站的全部視頻文件,並保存在video文件夾
import os
import re
import requests

def getHTMLText(url):
    try:
        r=requests.get(url)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        print("request failed")

url = 'https://www.pearvideo.com/category_8'
baseurl = 'https://www.pearvideo.com/'
video_data = getHTMLText(url)
# 判斷是否已經有video文件夾,沒有則新建
if not os.path.isdir('./video'):
    os.makedir('./video')

res = re.compile(r'(video_[0-9]{7})')
video_list = re.findall(res, video_data)


# 構建全部視頻文件網址
for i in video_list:
    video_url = baseurl + i # video_url是視頻文件頁面的地址,不是真正的視頻文件的下載地址
    # 請求視頻文件網站url,讀取視頻文件內容
    try:
        text = getHTMLText(video_url) # 返回視頻文件頁面的html
        res = re.compile(r'srcUrl="(https://.+?mp4)"')
        final_url = re.findall(res, text)[0] # 返回真正的視頻文件的下載地址
        video_content = requests.get(final_url).content # 獲取視頻文件的內容(二進制流)
    except:
        print('%s文件內容獲取失敗!' % i)
    with open('./video/' + i + '.mp4', 'wb') as f:
        print('正在保存視頻 %s ......' % i)
        f.write(video_content)
        f.flush()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM