网页视频抓取脚本(自学很多东西不是很懂,里面有解释错误的地方)
优采云 发布时间: 2022-04-10 02:14网页视频抓取脚本(自学很多东西不是很懂,里面有解释错误的地方)
节点的属性值“src”的文本值就是我们要下载的视频。那么怎么写呢,看下面的代码:
list_title = html.xpath('(//span[@class="video-title"]/text())')
src_list = html.xpath('(//div[@class="video-play"]/video/@src)')
for tit, src in zip(list_title, src_list):
self.down_mp4(tit, src)
如果不知道xpath参数的格式怎么写,请看前面的解释。前两行代码可以下载标题和视频连接,但是发现没有一一对应,所以这里我们使用zip函数让下载的标题和连接一一对应一,那我们应该下载视频,所以我们重新打包了一个函数,主要是用来写文件的,即down_mp4
步骤 6 保存文件
我们要下载的视频格式是“title.MP4”,但是我们知道目前互联网上使用的最多的是http协议。在上面的步骤中,我们发现src属性的文本值没有直接携带http: ///17/86 /09/744888piCPpU.mp4_10s.mp4 所以这里需要处理一下,
#下载视频
def down_mp4(self, tit, src):
file_name=tit+".mp4"
print("正在抓取的视频:"+file_name)
content = requests.get("http:" + src).content
# 保存数据
try:
with open(file_name, "wb") as f:
f.write(content)
except:
print("抓取错误")
这里写入数据时使用异常处理机制。这样我们就实现了对整个数据的爬取,在项目目录下可以看到爬取的小视频,因为我们目前只爬取了一页数据,当需要爬取多页时,需要修改第一页。多翻几页就可以看到三步中的url。这里要说一点,视频总页数只有223页,但是python的处理是左闭右开的,所以需要在循环的时候写入224,这样最后一页的数据可以爬取。
好了,以上就是我第一次爬虫的结果。因为我在自学中很多东西看不懂,所以解释的地方有一些错误。我希望你能给我一些建议。