场库网视频下载脚本

最近妹子需要从场库网下载视频,研究了研究发现代码实现挺简单,本着初学者就要多动手的态度做了个小脚本,记录下来等以后入门儿了回头看看代码稚嫩的地方
场库网:高品质短片分享平台
(网址:https://www.vmovier.com/)
封装程序:
个人网站下载
(网址:http://123.206.72.236:8080/)
封装加壳的程序会让杀毒软件报毒

import urllib.request as http
import re
import requests

def run():
    #电影名计数
    num=1
    while True:
        try:
            #输入网址并解析源码
            source_code=str(http.urlopen(input('输入网址: ')).read())
            #判断是否为优酷源并分别寻找vtom的url
            vtom_url=get_vtom_url(source_code)
            #尝试解析高清url
            movie_url=fhd_movie(vtom_url)
            #高清url解析失败则解析标清url
            if '.mp4'!=movie_url[-4]+movie_url[-3]+movie_url[-2]+movie_url[-1]:
                print('高清url解析失败,尝试解析标清url')
                movie_url=hd_movie(vtom_url)
            else:
                print('高清视频源解析成功,视频url: ')
                print('\n'+movie_url+'\n')
            #下载视频
            input('按"回车"键下载视频')
            name='movie('+str(num)+').mp4'
            download_movie(movie_url,name)
            input('\n按"回车"键继续下载其他电影\n')
            num+=1
        except Exception as e:
            print('程序发生错误,错误信息:')
            print(e)
            input('按"回车"退出程序')
            break

def get_vtom_url(source_code):
    '''判断是否为优酷源并分别寻找vtom的url'''
    if 'youkuplayer-' in source_code:
        vtom_url_end=re.findall(r"vtom_vid=\\'(.*?)\\'",source_code)[0]
        vtom_url='https://openapi-vtom.vmovier.com/video/'+vtom_url_end
    else:
        chip=re.findall("\"p00b204e980\"(.*?)</iframe>",source_code)[0]
        vtom_url=re.findall(r"src=\\'(.*?)\\'>",chip)[0]
    print('网页解析成功,正在解析高清视频源')
    return(vtom_url)

def fhd_movie(vtom_url):
    '''解析高清url'''
    vtom_source_code=str(http.urlopen(vtom_url).read())
    body=re.findall("mp4-FHD(.*?)https_url",vtom_source_code)
    if body:
        movie_url=re.findall('"url":"(.*?)","',body[0])[0].replace('\\','')
    else:
        movie_url='aaaa'
    return(movie_url)
    
def hd_movie(vtom_url):
    '''解析标清url'''
    vtom_source_code=str(http.urlopen(vtom_url).read())
    body=re.findall("<body>(.*?)style=",vtom_source_code)[0]
    movie_url='https:'+re.findall('href="(.*?)"',body)[0]
    print('标清视频源解析成功,视频url: ')
    print('\n'+movie_url+'\n')
    return(movie_url)
    
def download_movie(movie_url,name):
    '''分段下载视频'''
    num=0
    r=requests.get(movie_url,stream=True)
    with open(name,"wb") as movie:
        for chunk in r.iter_content(chunk_size=1024):
            if chunk:
                movie.write(chunk)
                num+=1
                print('正在下载视频,请勿关闭程序! '+str(num))

    print('下载完成!请检查该程序所在的文件夹!')
    print('注意!!!请重命名已下载的电影后再下载新电影!!!')

run()

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值