用python下载网页视频,让你一次看个够!
author:一佰互联 2019-03-29   click:180

简介:大家好,我是咿哑呀。大家都喜欢看网上的视频,为满足大家的爱好,今天,咿哑呀就教大家用python下载网页上的视频。为了下载视频,咿哑呀采取模拟浏览器的方式,先获取网页内容,再从中分析出视频网址并下载。下面的 ...

大家好,我是咿哑呀。大家都喜欢看网上的视频,为满足大家的爱好,今天,咿哑呀就教大家用python下载网页上的视频。为了下载视频,咿哑呀采取模拟浏览器的方式,先获取网页内容,再从中分析出视频网址并下载。下面的代码跟爬取网页文本的你码差不多,主要是添加了一个随机函数库:import random

用python下载网页视频,让你一次看个够!

然后修改爬取类spider中的部分代码,因为文章篇幅的原因,我就不再全部贴出这个类的代码了。类的修改部分如下:class spider:def __init__(self, root_url, mp4_tags, OutputDir):self.new_urls = set()self.old_urls = set()headers = ("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063")opener = request.build_opener()opener.addheaders = [headers]request.install_opener(opener)if request.urlopen(root_url).getcode() == 200:html = request.urlopen(root_url).read()charset = chardet.detect(html)["encoding"]html = str(html.decode(charset, "ignore"))pat = re.compile(mp4_tags,re.S)urls = re.findall(mp4_tags, html)

用python下载网页视频,让你一次看个够!

for url in urls:url=url.replace("\","")print(url)self.add_new_url(url)count = 1while self.has_new_url():try:new_url = self.get_new_url()print("%d、爬取 %s" % (count, new_url))if request.urlopen(new_url).getcode() != 200:continuemp4name = ".\"+OutputDir+"\"+str(count)+".mp4"request.urlretrieve(new_url, filename=mp4name)count += 1time.sleep(1)except():print("爬取失败")……(代码见爬取网页文本类相关部分)

用python下载网页视频,让你一次看个够!

if __name__ == "__main__":root_url = "******"mp4_tags = r"http:\/\/baishi.baidu.com\/watch\/.*?.html"output_dir = "out"spider(root_url, mp4_tags, output_dir)代码中的root_url字符串填入要爬取的网址,分析网页源代码中的视频网址(代码中已提供一个样例)。并填入mp4_tags字符串中,在脚本文件目录中新建目录out。一切完工!按F5运行脚本吧,然后打开out目录,有没有你喜欢的视频呢?今天下载网页视频就介绍到这里。谢谢大家的阅读。如果这篇文章对你有用,请点赞、转发、收藏、评论,如果喜欢我的文章,请搜索并关注“咿哑呀”,我将分享更多文章给大家。本文仅代表作者个人观点,不代表巅云官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱2522407257@qq.com。更多相关资讯,请到巅云www.yinxi.net学习互联网营销技术请到巅云建站www.yx10011.com。