今天简单爬取了一个视频网站,将视频资源爬取到了本地文件夹中:
1.获取目标网站
response = requests.get('https://ibaotu.com/shipin/')
2.解析网站信息:具体获取了两个比较重要的信息,一个是视频的名称,有了这个名称可以用来命名保存到本地的视频文件,另一个信息室详细视频页面的网址url,最开始利用的是预览视频的src讲该预览信息保存了下来,后来发现该视频在预览模块还可以正常播放,一旦真的放到播放器中后分辨率过低,导致视频模糊,于是后来利用该url进入该视频的单独网页中爬取视频的src
xml = etree.HTML(response.text)
src_list = xml.xpath('//a[@class="shade-box"]/@href')
# print(src_list)
tit_list = xml.xpath('//span[@class="video-title"]/text()')
3.根据网页url进入子视频网页,下载视频
for src, tit in zip(src_list, tit_list):
response = requests.get(("http:" + src))
xml = etree.HTML(response.text)
src = xml.xpath('//a[@class="video-src"]/@src')
if len(src) == 1:
src = src[0]
else:
print("视频"+tit+"保存失败")
continue
response = requests.get(("http:" + src))
fileName = "video\\" + tit +".mp4"
print("正在保存视频"+fileName)
4.保存视频
with open(fileName, "wb")as f:
f.write(response.content)