python批量下载b站_PYTHON批量下载B站视频小脚本

无聊废话

最近在学习HCIE的视频,收藏了几个相关的视频,结果前几天。。。视频被下架了了。。。呃。。。(⊙o⊙)…

视频被下架

视频被下架了。。。我学了一半呀。。。哭。。。

在网上一顿找,依旧找不到。。。

得不到的永远在骚动。。。(歌词。。。)

为了不让自己重蹈覆辙所以我想把我想看的B站视频在“偷偷的”下载下来。。。存到自己的硬盘里。。。嘿嘿嘿。。。

教学视频嘿嘿嘿。。。

于是说干就干。。。不留遗憾。。。于是打开浏览器 → “如何下载B站视频?” →enter

诶。。。这个是不错

但是尼玛我这里有213个视频呀。。。

213个视频

我怎么获取下载链接呀?一个一个复制粘贴手会断啊喂。。。

request太难,不会。。。

Beautifulsoup不会。。。

selenium嘿嘿嘿。。。还不手起刀落。。。个屁啊。。。为啥输出有但是实际用Xpath就是没结果呀。。。

算了,我只要一个网页,程序搞不定的活,我搞,反正就一次,我真是天才。。。

好,人工获取网页源码。。。。哔。。。。

使用Xpath读取我的网页文件,然后获取一大堆链接。然后获取一个个链接的列表,so easy。。。

搞定。。。接下来就是到网址那里取下载啦。。。哈哈哈哈。。。

等等。。。213个。。。。

213个视频

一个一个放到网站点下载,手会断啊喂。。。

果然这个东西不是一次百度可以搞定的。既然如此,那就百度两次。。。

打开浏览器 → “如何批量下载B站视频?” →enter

使用简单

OK,fork you!!!

fork you

嘿嘿嘿。。。不错,就是你啦,不用图形操作,只要提供一个链接即可下载B站视频,就是你啦。。。(关键还能装逼。。。嘿嘿。。。)

诶。。。等等,我怎们让python运行cmd命令呀。。。

一顿百度,借鉴(copy)之后。。。脚本就写好啦。。。

代码

#coding=utf-8

import requests

import lxml

from lxml import etree

import os

import sys

import you_get

import time

#==========================配置参数====================

#html文件路径

html_path = r'html.html'

#视频保存路径

path = r'G:\bilibili_flv'

#==========================配置参数====================

# 读取html文件

html_doc = open(html_path).read()

# print(html_doc)

mytree = etree.HTML(html_doc)

# print(etree.tostring(mytree))

#用xpath提取下载链接形成list

url_list = mytree.xpath("/html/body/ul //@href")

# print(url_list)

print("列表长度:%s" % len(url_list))

#调用you-get下载视频

def download(url, path):

sys.argv = ['you-get', '-o', path, url]

#使用代理命令: you-get -x 127.0.0.1:1080 [url]

you_get.main()

#上班时间等待

def waiting():

# 规定时间静默

print("等待中。。。")

while True:

# str_time = time.strftime("%Y%m%d%H%M%S", time.localtime())

str_time = time.strftime("%H%M%S", time.localtime())

#9点15分-18点

if int(str_time) >= 91500 and int(str_time) <= 180000:

# print(str_time)

print('.', end="")

time.sleep(60)

else:

print(str_time)

# time.sleep(1)

break

#主程序

if __name__ == '__main__':

i = 1

# 循环下载

for url in url_list:

#定时器

# waiting()

try:

link = "https://www.bilibili.com%s" % url

print('%s 下载中。。。第%s个' % (link, i))

download(link, path)

time.sleep(2)

finally:

i += 1

下载截图

list-box代码的获取

我的视频链接源代码文件:html.html

获取方法:Chrome浏览器按F12,选择对应的“list-box”元素,然后:右键→copy→copy outerHTML,将list-box元素代码保存到txt中。

选取“list-box”元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值