前言
作为一个伪守望迷,如何快速上手某个新英雄呢?
自然是查看官方的视频教程了!
本次博主将会给位守望迷们讲解如何使用python从守望先锋官网爬取英雄教学视频。

环境准备
本次教程将会用到如下内容,为完美享用本次教程大餐,各位读者请尽可能的使用和博主相同的版本。

python----版本:3.7.2(这个没啥硬性要求,只要是python3的即可)
requests库----版本:2.22.0(这个没啥硬性要求,只要不要使用远古版本即可)
lxml库----版本:4.4.1(这个没啥硬性要求,只要lxml库中包含etree模块即可)
谷歌浏览器----版本要求暂无
一双手和睿智的头脑----相信各位读者大大都有。
网页分析
1.首先我们打开守望官网中的英雄视频教程页面,链接:https://ow.blizzard.cn/media/

我们右键视频选择【检查】

打开网页源代码

可以看到视频的链接存在于【class】属性为【media-item m-lg】的【li】标签中,内容存在于【data-mp4】属性中

尝试打开该链接,验证是否可以成功打开视频。
视频链接:https://blz-videos.nosdn.127.net/1/OverWatch/AnimatedShots/Overwatch_AnimatedShot_CinematicTrailer.mp4

可以看到成功打开了视频。

代码
# -*- coding:utf-8 -*-
#时间:2019年12月19日
#作者:猫先生的早茶

import requests;
from lxml import etree;

class SHOUWANGXIANFENG():
    def __init__(self):
        """定义预定参数"""
        #守望官网中的英雄视频教程页面url
        self.page_url = "https://ow.blizzard.cn/media/";
        #设置请求头
        self.headers = {
            "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
            "Accept-Encoding": "gzip, deflate, br",
            "Accept-Language": "zh-CN,zh;q=0.9",
            "Cache-Control": "no-cache",
            "Connection": "keep-alive",
            "Cookie": "123456789",
            "Host": "ow.blizzard.cn",
            "Pragma": "no-cache",
            "Sec-Fetch-Mode": "navigate",
            "Sec-Fetch-Site": "none",
            "Sec-Fetch-User": "1",
            "Upgrade-Insecure-Requests": "1",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
            };

def download_video(self,video_info):
        """下载并保存视频"""
        video_header = {
            "Accept": "*/*",
            "Accept-Encoding": "identity;q=1, *;q=0",
            "Accept-Language": "zh-CN,zh;q=0.9",
            "Cache-Control": "no-cache",
            "Connection": "keep-alive",
            "Host": "blz-videos.nosdn.127.net",
            "Pragma": "no-cache",
            "Referer": "https://blz-videos.nosdn.127.net/1/OverWatch/AnimatedShots/Overwatch_AnimatedShot_CinematicTrailer.mp4",
            "Sec-Fetch-Mode": "no-cors",
            "Sec-Fetch-Site": "same-origin",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
            }
        #下载视频内容
        video_content = requests.get(url=video_info[1],headers=video_header,verify=False).content;
        #保存视频
        #print (video_info[1]);
        with open(video_info[0]+".mp4".replace(':','').replace(' ',''),mode='wb') as write_video:
            write_video.write(video_content);

def main(self):
        """控制程序运行"""
        #获取页面内容,(注意,可能会提示证书错误,这个不用管,不影响程序运行)
        page_html = requests.get(url=self.page_url,headers=self.headers,verify=False).text;
        #打印页面内容
        #print (page_html);
        #将网页转换为etree格式
        page_html_etree = etree.HTML(page_html);
        #匹配出视频标题
        video_title = page_html_etree.xpath("//li[@class='media-item ']/@data-title");
        #匹配出视频链接
        video_url = page_html_etree.xpath("//li[@class='media-item ']/@data-mp4");
        #将视频标题和视频链接压缩在一起
        video_infos = dict(zip(video_title,video_url));
        #下载视频
        for video_info in video_infos.items():
            self.download_video(video_info);

shouwangxianfeng = SHOUWANGXIANFENG();
shouwangxianfeng.main();
————————————————
版权声明:本文为CSDN博主「猫先生的早茶」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43017750/article/details/103620815

【python--爬虫】守望先锋英雄介绍视频爬虫相关推荐

  1. 英伟达守望先锋巡回赛开启 上海/深圳/沈阳/重庆英雄齐聚

    12月3-4日英伟达守望先锋巡回赛正式打响,上海.深圳.沈阳.重庆英雄齐聚首开记录!守望先锋作为新兴的电子竞技游戏项目,在国内还没有普及赛事,英伟达举办的本次活动旨在让大众玩家体验最新最强的硬件装备, ...

  2. ptr *ptr 关系_如何在PTR服务器上试用新的《守望先锋》英雄

    ptr *ptr 关系 Blizzard's team-based first-person shooter Overwatch has quickly become one of the most ...

  3. 【视频爬虫】简单代码实现守望先锋CG动画爬虫

    游戏,无所欲也 动画,亦我所欲也 不得不说,守望先锋真的是一款很好的游戏,暴雪公司也是很好的CG公司. 最近迷恋上了守望先锋的画面效果,浏览官网的时候发现了很多官方公开的很不错的CG作品.想保存下来作 ...

  4. 爬虫python教程百度云_Python爬虫比较基础的教程视频百度云网盘下载

    Python爬虫比较基础的教程视频百度云网盘下载,目录如下,给编程的朋友学习吧,请大家支持正版! QQ截图20180719110859.jpg (12.41 KB, 下载次数: 27) 2018-7- ...

  5. python scrapy爬虫视频_python爬虫scrapy框架的梨视频案例解析

    之前我们使用lxml对梨视频网站中的视频进行了下载 下面我用scrapy框架对梨视频网站中的视频标题和视频页中对视频的描述进行爬取 分析:我们要爬取的内容并不在同一个页面,视频描述内容需要我们点开视频 ...

  6. Python爬虫:ZzzFun动漫视频网

    提醒:转载请标明作者和原文链接!!! CSDN个人主页: 高智商白痴 原文地址: https://blog.csdn.net/qq_44700693/article/details/109924262 ...

  7. 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...

    课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...

  8. python去除抖音水印_Python爬虫:多平台短视频去水印下载器

    Python爬虫:多平台短视频去水印下载器 本教程描述的爬取方案定档与2020年10月26日 郑重申明:该文章介绍的技术仅供用于学习,不可恶意攻击各大短视频平台.对各大短视频平台服务器造成的任何损失, ...

  9. 利用Python爬虫下载王者荣耀教学视频

    前言: 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这三类人,我给 ...

  10. python怎么爬网站视频教程_python爬虫爬取某网站视频的示例代码

    把获取到的下载视频的url存放在数组中(也可写入文件中),通过调用迅雷接口,进行自动下载.(请先下载迅雷,并在其设置中心的下载管理中设置为一键下载) 实现代码如下: from bs4 import B ...

最新文章

  1. 域中计算机设定重启,域中添加计算机设定的步骤
  2. Cell:新方法PopCOGenT鉴定微生物基因组间的基因流动
  3. YAML配置:mapping values are not allowed here
  4. Qt 编译出错 Could not create directory
  5. VTK:小部件之ImageTracerWidget
  6. 解决MySQL事务未提交导致死锁报错 避免死锁的方法
  7. Nginx为什么比Apache Httpd高效
  8. python递归求5!_用Python解数独[6]:递归获得最终答案
  9. AI 开发者不容错过的 20 个机器学习和数据科学网站
  10. 为什么每个程序员都应该学习C语言?
  11. 通过定制控制在屏幕上显示图片
  12. PS、Ai、Pr等如何修改安装位置的问题
  13. 六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro
  14. addition过程 sgnb_5G-NSA接入流程分析及问题定位四步法
  15. cad.net 块裁剪边界反向修剪
  16. vbs打开网页并全屏
  17. 前端存储之cookie、localStorage、sessionStorage、indexDB
  18. HTML学生个人网站作业设计:电影网站设计——电影资讯博客(5页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  19. 最容易被人工智能取代的10种职业,今年换工作别入坑了!
  20. 力扣 532. 数组中的 k-diff 数对

热门文章

  1. 检查服务器端口占用,服务器中如何检查端口是否开放
  2. 关于Microsoft Project默认开始时间错误问题
  3. 安装cude11.2.exe报错:Could not create file “C: )Users\xxx\ AppData \Local\ Temp \CUDA\GFExperience
  4. 计算机管理单元受到策略限制怎么解决,组策略编辑器管理单元无法打开
  5. 20190904_chip-seq/ ATAC-seq/DAP-seq 原理理解
  6. beamer插入参考文献并引用(BibTex)
  7. java重载和重写的区别_Java重载和重写的区别
  8. python平方根计算_Python计算平方根
  9. Excel基础学习笔记
  10. 使用lgtm发现开源项目安全漏洞