爬虫——爬取梨视频

时间:2020-09-16
本文章向大家介绍爬虫——爬取梨视频,主要包括爬虫——爬取梨视频使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import requests     # 导入爬虫模块
import re           # 导入正则模块
import os           # 导入文件操作模块

a = 1           # 主程序判断结束的锚
start = 0       # 记录爬取位置

# 主程序循环
while a:

    v = []      # 存放视频地址

    # 拼接地址,爬取网页内容
    url = 'https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start=' + str(start)
    res = requests.get(url = url)

    # 使用正则获取视频名称
    vnz = '<div class="vervideo-title">(.*?)</div>'
    vn = re.findall(vnz,res.text)

    # 使用正则获取HTML中的视频超链接
    vz = '<a href="(.*?)" class="vervideo-lilink actplay">'
    vu = re.findall(vz,res.text)

    for  i in vu:
        # 循环取出视频超链接,拼接并爬取网页内容
        vurl = 'https://www.pearvideo.com/' + i
        res1 = requests.get(url = vurl)

        # 找到网页中的视频地址,使用正则取出并存入视频列表(v)中
        vz2 = 'srcUrl="(.*?)"'
        vurl1 = re.findall(vz2,res1.text)
        v.append(vurl1[0])

    for i in range(len(v)):
        # 循环取出视频名称并拼接成文件路径
        add = os.path.join('D:\梨视频', vn[i]) + '.mp4'
        with open(add,'wb') as f:
            # 循环取出视频地址然后获取视频数据,并用数据流存入文件中
            for line in requests.get(v[i]).iter_content():
                f.write(line)

    # 判断视频文件中的视频地址数量是否为12个
    # 是:继续循环    否:结束循环
    if len(v) == 12:
        start = int(start) + 12
    else:
        print("结束")
        a = None

原文地址:https://www.cnblogs.com/shof/p/13680126.html