标签:批量下载 find 构建 encoding 获取 baseurl 代码 tps enc
# 本程序为学习代码,成功爬取了'梨视频'网站的全部视频文件,并保存在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()
一段完整的批量下载网站视频资源的python爬虫代码(附注解)
标签:批量下载 find 构建 encoding 获取 baseurl 代码 tps enc
原文地址:https://www.cnblogs.com/iceberg710815/p/12240415.html