码迷,mamicode.com
首页 > 其他好文 > 详细

爬取并下载视频

时间:2017-06-09 22:35:47      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:ext   ems   元组   win   zip   pre   urllib   名称   div   

 

 

 

 

import urllib.request, re, requests

url_name = []
def get():
    hd = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36‘}
    url = ‘http://www.budejie.com/video/‘
    html = requests.get(url, headers=hd).text
    # print(html)
    url_content = re.compile(r‘(<div class="j-r-list-c">.*?</div>.*?</div>)‘,re.S) 
    url_contents = re.findall(url_content,html)
    # print(url_contents)
    for i in url_contents: # 大盒子里面的html
        url_reg = r‘data-mp4="(.*?)"‘
        url_item = re.findall(url_reg,i) 
        # print(type(url_items)) # <class ‘list‘>
        # print(url_item)
        if url_item:
            name_reg = re.compile(r‘<a href="/detail-.{8}?.html">(.*?)</a>‘,re.S) # .{8}?匹配8位数字
            name_item = re.findall(name_reg,i) # findall返回的是一个列表
            # print(type(name_items)) # <class ‘list‘>
            # print(name_items)
            for i,k in zip(name_item,url_item):
                url_name.append([i,k]) # 将列表添加到列表中,其实,也可以将元组存入列表,url_name.append((i,k))
                # print(url_name)
                # print(i,k)
    for i in url_name:
        print(‘正在下载>>>>>  ‘+i[0]+‘:‘+i[1])
        # 每个元素的i[0]是名称,i[1]是视频url
        urllib.request.urlretrieve(i[1],‘video/%s.mp4‘%(i[0])) # video\\%s

if __name__ == ‘__main__‘:
    get()

  

 

技术分享

 

爬取并下载视频

标签:ext   ems   元组   win   zip   pre   urllib   名称   div   

原文地址:http://www.cnblogs.com/UncleYong/p/6973861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!