分享

python爬虫下载vip电影(看完本代码你以后再也不用vip看电影了)

 魔洛哥 2019-11-05

本代码演示下载爱奇艺的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放入解析网站的输入框中,如下图所示:
python爬虫下载vip电影(看完本代码你以后再也不用vip看电影了)

发现视频文件基本为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()

代码运行结果如下图所示:

python爬虫下载vip电影(看完本代码你以后再也不用vip看电影了)

pycharm的代码和代码运行结果图

最后运行win+r,输入cmd进入命令提示符窗口,在窗口输入:

COPY/b F:\movie\*.ts F:\movie\zhanlang2.ts

上述代码相当于将f盘movie文件夹下面的所有以.ts结尾的文件合并为一个新的命名为zhanlang2.ts的文件,打开F:\movie\zhanlang2.ts文件即可观看完整的 战狼2电影了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多