python爬取小视频

发布时间:2019-09-17 07:49:59编辑:auto阅读(2147)

    python爬取小视频记录

    学习python简单爬虫小程序,记录代码和学习过程

    环境信息

    python 2.7.12

    分析与步骤

    1. 要分析网站信息 http://www.budejie.com/video/
    2. 查看网页不同页面的信息:
      http://www.budejie.com/video/2
      http://www.budejie.com/video/3
      http://www.budejie.com/video/4
      可以知道,不同页面的URL规则,直接在后面输入数字查看跳转到不同页
    3. 分析视频内容特点
      如图:
      这里写图片描述
      查看网页代码:
      这里写图片描述
      通过这段代码,我们可以考虑分析。在python代码中用一段存放描述内容,一段存放视频所在的url
      对于每个url地址,通过urllib所提供的urlretrieve下载
    4. 具体代码实现
    # -*- encoding:utf8 -*-
    import re
    import sys
    import urllib2
    import urllib
    import os
    
    
    reload(sys)
    sys.setdefaultencoding("utf-8")
    
    #a = 1
    url_name = []
    def get(pageindex):
        url = 'http://www.budejie.com/video/' + str(pageindex)
        # var1.set('已经获取到第%s页的视频视频'%(a))
        print url
        html = urllib.urlopen(url).read()
        url_reg = r'data-mp4="(.*?)"'
        url_items = re.findall(url_reg, html)
        name_reg = re.compile('<div class="j-r-list-c-desc".*?<a href=".*?>(.*?)</a>.*?</div>', re.S)
        name_items = re.findall(name_reg, html)
        for i, k in zip(name_items, url_items):
            url_name.append([i, k])
    
    #传入文件名和video地址
    def saveVideo(filename,videoUrl):
        print 'Saving : %s ...'%filename
        urllib.urlretrieve(videoUrl,'D:\\video\\%s.mp4'%filename)
    
    
    ####main exec ####
    for pageindex in range(1,3):
        get(pageindex)
    
    for index,item in enumerate(url_name):
        saveVideo(index,item[1])

关键字