本文将使用requests库,用requests爬取B站视频的思路如下:
使用requests库将页面源码扒下来
把所有视频链接地址从源码扒下来
使用you-get下载视频到本地
需要注意的地方在第二步,使用的正则表达式,在提取视频链接地址的时候,
直接只提取我们需要的部分(问号前面的部分)。
完整代码如下,可以发现一共就12行,因为我把那些花里胡哨的代码都给移除,
只留下核心的部分,方便同学参考:
# coding=utf-8
import requests,os,re
search_name = input('您想要爬取的视频关键字是?\n(输入完毕请按回车):')
pages = 51 #设置爬取的总页数
video_path = r'D:\Video'#视频保存路径
for page in range(1,pages):#翻页循环
r = requests.get(url)#GET请求访问网页
content = r.text#解析网页源码
links = re.findall(r'www.bilibili.com/video/av\d+',content)#使用正则表达式从源码中找到所有视频地址
for link in links:#循环下载所有链接
os.system('you-get -o %s %s' % (video_path,link))#调用you-get方法挨个下载该次循环的所有视频