Python爬虫从入门到放弃 10 | Python爬虫实战–下载bilibili在线列表视频

此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。
本文章纯野生,无任何借鉴他人文章及抄袭等。坚持原创!!

前言

你好。这里是Python爬虫从入门到放弃系列文章。我是SunriseCai。


本文章主要介绍利用爬虫程序去 下载哔哩哔哩当前在线列表的所有视频 。

1. 文章思路

看到哔哩哔哩当前在线列表,如下多图所示:

  • 首页(一级页面)
  • 每次刷新页面的在线列表都不尽相同

本文章的任务就是要下载这个页面的所有视频,那还等什么,赶紧开始吧!!!


2. 请求 + 分析 网页

先来看看接下来要做什么。

  1. 获取哔哩哔哩当前在线列表所有视频的链接。
  2. 根据所获取的视频链接去下载对应的视频。
  3. 完。

2.1 获取所有视频的链接

  • 打开开发者工具,
  • 可以看到源码里边包含了哔哩哔哩当前在线列表的视频的链接。

    Python爬虫从入门到放弃 10 | Python爬虫实战–下载bilibili在线列表视频_第1张图片
  • 如果使用的是Google浏览器,可以借助xpath helper插件去解析网页。
  • 可以看到下图,xpath解析到了哔哩哔哩当前在线列表的20个视频链接。
  • xpath表达式在前面的文章中有说到过。

获取视频链接代码:

import re
import requests
from lxml import etree

def get_online_videoUrl():
    """
    请求哔哩哔哩在线列表首页
    :return: 
    """
    url = 'https://www.bilibili.com/video/online.html'
    headers = {
        'user-agent': 'Mozilla/5.0'
    }
    html = requests.get(url, headers=headers).text
    return html

def parse_html(html):
    """
    解析网页
    :param html: 
    :return: 
    """
    text = etree.HTML(html)
    video_links = text.xpath('//*[@id="app"]/div/div[2]/div/a/@href')
    video_title = text.xpath('//*[@id="app"]/div/div[2]/div/a/@title')
    video_links = ['https:' + link for link in video_links]
    for video_data in zip(video_links, video_title):
        print(video_data)

html = get_online_videoUrl()
parse_html(html)

运行代码后的结果:

  • 可以看到已成功获取到下载的链接了。
    Python爬虫从入门到放弃 10 | Python爬虫实战–下载bilibili在线列表视频_第2张图片

那接下来就是去利用链接下载视频了喂。


2.2 下载视频

  • 此处下载的详细讲解可移步https://blog.csdn.net/weixin_45081575/article/details/104334749,没错,也是我水的博文。

  • 因为下载这一步比较简单,并且前边已有博文介绍过,这里就不再做详细介绍。


3. 代码部分

部分问题:

  • 部分视频需要大会员才可观看。
    Python爬虫从入门到放弃 10 | Python爬虫实战–下载bilibili在线列表视频_第3张图片

  • 部分视频链接提取出来的链接是flv,它的提取方式与m4s的提取路径不一样。然后提出下来的

  • 下载部分用的是单线程,因为简单,简单就完事了。

代码自取: https://github.com/SunriseCai/spiderCode


待完善功能:

  • 代码没有完善,基本可以使用,后面看情况再决定完善与否。
  • 可添加自动刷新哔哩哔哩当前在线列表(如5分钟一次),自己动手,丰衣足食。
  • 建议各位通过复制黏贴代码去执行一番,有任何疑问请先自己动手解决,尽信书则不如无书。
  • 实在解决不了可以一起交流。

最后来总结一下本章的内容:

  1. 介绍了利用爬虫程序下载哔哩哔哩当前在线列表所有视频的爬虫思路

Python爬虫从入门到放弃 10 | Python爬虫实战–下载bilibili在线列表视频_第4张图片

  • 感谢你的耐心观看,点关注,不迷路。
  • 为方便菜鸡互啄,欢迎加入QQ群组织:648696280

下一篇文章,名为 《Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品》

你可能感兴趣的:(Python爬虫从入门到放弃 10 | Python爬虫实战–下载bilibili在线列表视频)