Python爬取阴阳师官网式神CG,附完整代码

  • 爬取阴阳师式神宣传CG
    • 网页分析
    • 教程开始
      • 1 发送网页请求
        • 使用第三方库requests来获取网页
        • 使用BeautifulSoup解析网页
      • 2 获取目标数据
        • 获得视频名称和视频地址
      • 3 保存视频文件
      • 4 程序执行入口
    • 结语
    • 完整源码

目标网址:https://yys.163.com/media/video.html

结果展示

爬取阴阳师式神宣传CG

作为《阴阳师》的一名忠实粉丝,虽然式神抽到,御魂肝出,但是这并没有影响我对这款游戏的热爱,作为非酋的我,仍然保持着对这个游戏的喜爱,今天就来看一看这些式神的排面如何

目标:下载式神宣传视频

网页分析

将上方的目标网址复制到浏览器中打开,然后右键、检查进行审查元素(或按F12直接进入),从下图可以看出视频的地址,这就是我们的目标


我们不难发现,"阴阳师""式神""剧情""其它"这四部分的内容都是放在class="tab-cont"div标签中的,而每一个式神的信息都是放在一个class="item2"div 标签中的,我们需要从中得到视频名称视频地址,看到这里,我们就可以开始动手实践了。

教程开始

1 发送网页请求

使用第三方库requests来获取网页
使用BeautifulSoup解析网页

这里我们定义一个函数url_get()来实现请求网页的功能,使用BeautifulSoup来解析网页源代码,函数返回一个列表,其中包含了四个div标签,分别是"阴阳师""式神""剧情""其它"

def url_get():url = 'https://yys.163.com/media/video.html'response = requests.get(url).content.decode('utf-8')soup = BeautifulSoup(response, 'lxml')video = soup.find_all('div', {'class': 'tab-cont'})  # 阴阳师、式神、剧情、其它return video

2 获取目标数据

获得视频名称和视频地址

通过url_get()函数,返回了一个含有"式神"信息的列表,我们可以通过video[1]来获取所有的式神信息,如下所示:

这里使用正则表达式来获取视频名称视频地址,因为findall函数的要求,所以要对列表进行强制类型转换,转换为字符串str(),我们运行打印一下:

def info_get(video):title = re.findall('<div class="title">(.*?)</div>', str(video[1]))  # 视频名称href = re.findall('href="(.*?)"', str(video[1]))  # 视频链接for name, data in zip(title,href):print(name,data)


山海之战-鬼王觉醒 https://yys.v.netease.com/2019/1101/724b459d15d5ac8f3158758a8312378aqt.mp4
这些地址都可以直接进行访问

3 保存视频文件

同样保存视频文件封装成一个函数video_save(),它有两个参数namelink分别是视频的名称和链接,得到视频的链接后,再次使用requests请求来获取视频数据,

def video_save(name, link):time.sleep(0.3)movie = requests.get(link)if movie.status_code ==200:open(f'{name}.mp4', 'wb').write(movie.content)print(f'{name} 下载成功')else:print(f'{name} 下载失败  原因:{movie.status_code}')

4 程序执行入口

定义Python程序的执行入口,类似于主函数,程序将从这里开始执行
在主函数中创建用来存放视频的文件夹,./表示当前文件夹
先调用url_get()函数来获取网页,再调用info_get()函数获取视频信息,在info_get()中调用保存文件的函数video_save()来保存文件

def info_get(video):title = re.findall('<div class="title">(.*?)</div>', str(video[1]))  # 视频名称href = re.findall('href="(.*?)"', str(video[1]))  # 视频链接for name,link in zip(title,href):video_save(name, link)  # 调用保存文件的函数
if __name__ =='__main__':if not os.path.exists('./式神视频'):os.mkdir('./式神视频')os.chdir('./式神视频')video = url_get()info_get(video)

运行结果:

OK,本次教程到这里就结束了,感谢大家观看,如果本文章对你有帮助,欢迎点赞收藏加关注

结语

本次爬取视频的教程相较于上篇文章《超简单,Python爬取阴阳师原画壁纸》较为简洁,讲解也更简单,若是有哪里有疑惑,可以评论留言,或点击上方观看另一篇详细的教程。为了使代码更具可读性观赏性,我这次对代码进行了封装处理,使用def来定义函数,通过函数来实现特定的功能,使代码看起来更加美观易读

完整源码

# _*_ coding: utf-8 _*_
#开发团队:独狼科技
#开发人员:No moon No sun
#开发时间:2020/4/15 20:30
#文件名称:yys.py
#开发工具:PyCharmimport os
import re
import time
import requests
from bs4 import BeautifulSoupdef url_get():url = 'https://yys.163.com/media/video.html'response = requests.get(url).content.decode('utf-8')soup = BeautifulSoup(response, 'lxml')video = soup.find_all('div', {'class': 'tab-cont'})  # 阴阳师、式神、剧情、其它return videodef info_get(video):title = re.findall('<div class="title">(.*?)</div>', str(video[1]))  # 视频名称href = re.findall('href="(.*?)"', str(video[1]))  # 视频链接for name,link in zip(title,href):video_save(name, link)def video_save(name, link):time.sleep(0.3)movie = requests.get(link)if movie.status_code ==200:open(f'{name}.mp4', 'wb').write(movie.content)print(f'{name} 下载成功')else:print(f'{name} 下载失败  原因:{movie.status_code}')if __name__ =='__main__':if not os.path.exists('./式神视频'):os.mkdir('./式神视频')os.chdir('./式神视频')video = url_get()info_get(video)

超简单,Python爬取阴阳师式神视频相关推荐

  1. Python爬取阴阳师式神全图鉴图片

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  2. python 阴阳师 识别图像_Python爬取阴阳师式神全图鉴图片

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 基本环境配置 python 3.6 pycharm requests 目标网页 经过一些系列 ...

  3. 超简单,Python爬取阴阳师游戏原声

    Python爬取阴阳师游戏BGM,附完整代码 爬取阴阳师游戏原声 网页分析 教程开始 1 请求json文件并获取数据 2 保存文件 注意,一定要看 结语 完整源码 目标网址:https://yys.1 ...

  4. 超简单,Python爬取阴阳师原画壁纸

    Python爬取阴阳师官网原画壁纸,附完整代码 爬阴阳师官网插画 网页分析 教程开始 1 获取网页源代码 使用第三方库requests来获取网页 2 获取目标数据 使用BeautifulSoup解析网 ...

  5. python爬取下载m3u8加密视频,原来这么简单!

    1.前言 爬取视频的时候发现,现在的视频都是经过加密(m3u8),不再是mp4或者avi链接直接在网页显示,都是经过加密形成ts文件分段进行播放. 今天就教大家如果通过python爬取下载m3u8加密 ...

  6. python 爬取B站原视频的实站代码

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:python学习教程 ( 想要学习Python?Pyt ...

  7. Python爬取m3u8格式的视频

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! Python爬取m3u8格式的视频目录 背景 1.文件信息 那什么是m3u8呢? 2.构造请求获得m3u8文件 3 ...

  8. Python爬取知乎“神回复”,笑得根本停不下来(附代码)

    来源:Python与数据分析 本文约4600字,建议阅读10+分钟. 本文介绍如何爬取知乎的神回复,为你揭晓其背后的原理. 知乎上经常会有很多令人忍俊不禁的神回复,初看之下拍案叫绝,细思之下更是回味无 ...

  9. 简单python爬取微博并写入excel

    ​ 写了一个简单的Python爬取指定用户微博的内容和图片,目前比较简陋,之前有在github上参考别人写的爬虫,发现现在微博好像使用的是Ajax的方式来渲染数据,这也太方便了,直接请求接口,然后解析 ...

最新文章

  1. mac软件更新卡住不动_如何修复Mac运行缓慢?修复它的五种简单方法
  2. 嵌入式系统开发方向的面试题总结
  3. undo表空间文件丢失恢复(3)--无备份无redo的情况下恢复
  4. 【剑指offer】面试题56 - II:数组中数字出现的次数 II(Java)
  5. Bootstrap3 栅格系统之自定义mixin和变量
  6. SAP License:搞砸SAP项目的3种方法
  7. Stanford CS230深度学习(二)手动搭建DNN
  8. iOS 自动化发布 Fastlane 本地构建 IPA 并分发
  9. 命令: LIST 响应: 150 Opening BINARY mode data connection. 错误: 20 秒后无活动,连接超时 错误: 读取目录列表失败
  10. Android项目重构之路:界面篇
  11. Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等
  12. html生成一维码,JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】...
  13. Android使用xml自定义软键盘效果(附源码)
  14. 结合实例谈谈航拍全景的方法和技巧
  15. ​“从0到1手搓GPT”教程来了!李飞飞高徒出品,马斯克点赞!
  16. 【复盘】记录生产环境问题,因没有及时合并maser
  17. 在Apple开发官网测试TestFlight
  18. 嵌入式学习(3)ADC、DMA、通信方式
  19. Spring Security系列(10)- 微服务权限方案及Oauth2介绍
  20. 【论文阅读】针对快速和准确的超分辨率深度拉布拉斯金字塔网络

热门文章

  1. React中ref的使用方法和使用场景(详解)
  2. 《WINDOWS游戏编程之从零开始》第五章学习笔记
  3. WPF 右上角带数字的按钮
  4. [笔记]unsigned int 转 char 数组uitoa 函数
  5. 魔兽世界 - PKU[课程作业]程序设计与算法(三)C++面向对象程序设计/coursera C++程序设计_World of warcraft Project
  6. 点评阿里云、盛大云等国内IaaS产业
  7. select函数中的坑(C语言)
  8. 如何给给字符数组赋值
  9. 23种常用设计模式(C++)
  10. 如何从800万数据中快速捞出自己想要的数据?