本代码演示下载爱奇艺的VIP视频 战狼2 电影的视频文件 下载vip电影的步骤 一、获取VIP电影的网址 去爱奇艺上找到战狼2电影的网址https://www.iqiyi.com/v_19rre19on4.html 二、解析战狼2电影的网址的原始网址 1、去百度搜索对应的解析VIP视频的网站,找到http://为解析VIP视频的网站,如下图所示,将战狼2的原网址https://www.iqiyi.com/v_19rre19on4.html放入解析网站的输入框中,如下图所示: 发现视频文件基本为film_00001.ts等格式的文件,点击该文件,发现右边的request url网址为:https://ll1./hls/20190918/43caf06b8abb3d5aa93e76957184e84f/1568821235/film_00001.ts 查找发现共计有近2000个TS文件。 三、在pycharm中编写代码 代码如下: #1、导入相应库from multiprocessing import poolimport requestsimport randomimport os#2、对网站进行解析def downvideo(): url1='https://www.iqiyi.com/v_19rre19on4.html' #爱奇艺的战狼2电影的网址 '''因为是vip电影,无法直接通过爱奇艺进行解析电影的网址,故通过第三方解析vip电影的网站 http://进行解析,解析的视频是很多个短视频,短视频的网址例如 https://ll1./hls/20190918/43caf06b8abb3d5aa93e76957184e84f/1568821235/film_00000.ts https://ll1./hls/20190918/43caf06b8abb3d5aa93e76957184e84f/1568821235/film_00001.ts https://ll1./hls/20190918/43caf06b8abb3d5aa93e76957184e84f/1568821235/film_00002.ts等等,故对上述网址进行解析 ''' agent1 = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'} # 设定请求头的值agent1 agent2 = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'} # 设定请求头的值agent2 agent3 = { 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36'} # 设定请求头的值agent3 list1 = [agent1, agent2, agent3] # 设置3个请求头组成的列表,并赋值给列表list1 agent = random.choice(list1) # 请求头的值agent从列表list1里随机选择一个 for x in range(2000): #假设有2000个ts视频片段 if x>0 and x<10: url='https://ll1./hls/20190918/43caf06b8abb3d5aa93e76957184e84f/1568821235/film_0000'+str(x)+'.ts' #设置带爬取网址url=原固定地址+for循环的变量+视频格式.ts elif x>9 and x<100: url = 'https://ll1./hls/20190918/43caf06b8abb3d5aa93e76957184e84f/1568821235/film_000' + str(x) + '.ts' elif x>=100 and x<1000: url = 'https://ll1./hls/20190918/43caf06b8abb3d5aa93e76957184e84f/1568821235/film_00' + str(x) + '.ts' elif x>=1000: url = 'https://ll1./hls/20190918/43caf06b8abb3d5aa93e76957184e84f/1568821235/film_0' + str(x) + '.ts' try: response=requests.get(url,headers=agent) #设置请求头为agent,请求网址为url,进行get请求,并将请求结果赋值给response response.encoding=response.apparent_encoding #根据网页内容进行解析,并将解析编码赋值给response.encoding html=response.content #将网页的二进制内容赋值给html path='F://movie//' #设置本机保存视频的文件夹路径 if not os.path.exists(path): #假如不存在path这个路径时 os.mkdir(path) #则新建这个路径 abspath=path+str(x)+'.ts' #设置保存到本机的文件的绝对路径 with open(abspath,'wb') as f: #对文件的绝对路径进行写入操作,并设置为f f.write(html) #对f写入网页的二进制内容 f.close() #关闭f文件 print('{}下载完成'.format(url)) #打印这个网址下载完成 except: #当接收错误时 print('爬取失败') #打印爬取失败 continue #并继续执行#3、调用函数if __name__ == '__main__': downvideo() 代码运行结果如下图所示: pycharm的代码和代码运行结果图 最后运行win+r,输入cmd进入命令提示符窗口,在窗口输入: COPY/b F:\movie\*.ts F:\movie\zhanlang2.ts 上述代码相当于将f盘movie文件夹下面的所有以.ts结尾的文件合并为一个新的命名为zhanlang2.ts的文件,打开F:\movie\zhanlang2.ts文件即可观看完整的 战狼2电影了。 |
|