Python爬虫实战之电影爬取过程

2023-11-14

俗话说,兴趣所在,方能大展拳脚。so结合兴趣的学习才能事半功倍,更加努力专心,apparently本次任务是在视频网站爬取一些好看的小电影,地址不放(狗头保命)只记录过程。

实现功能:

从网站上爬取采用m3u8分段方式的视频文件,对加密的 "ts"文件解密,实现两种方式合并"ts"文件,为防止IP被封,使用代理,最后删除临时文件。

环境 &依赖

  • Win10 64bit

  • IDE:Pycharm

  • Python 3.8

  • Python-site-package:requests + BeautifulSoup + lxml + m3u8 + AES

在PyCharm中创建一个项目会创建一个临时目录存放环境和所需要的package包,所以要在PyCharm 中项目解释器(Project Interpreter)中添加所有需要的包,这张截图是本项目的包列表,红框中是所必须的包,其他有的包我也不知道做什么用的。

下面开始我们的正餐,爬取数据第一步我们需要解析目标网站,找到我们需要爬取视频的地址,F12打开开发者工具

很不幸,这个网站视频是经过包装采用m3u8视频分段方式加载

科普一下:m3u8 文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。但无论是哪种播放列表,其内部文字使用的都是 utf-8 编码。

当 m3u8 文件作为媒体播放列表(Meida Playlist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源。

OK,本着“没有解决不了的困难“的原则我们继续,依旧在开发者模式,从Elements模式切换到NetWork模式,去掉不需要的数据,我们发现了两个m3u8文件一个key文件和一个ts文件

分别点击之后我们可以 看到对应的地址

OK,现在地址已经拿到了,我们可以开始我们的数据下载之路了。

首先进行初始化,包括路径设置,请求头的伪装等,之后我们通过循环去下载所有ts文件,至于如何定义循环的次数我们可以通过将m3u8文件下载之后解析文件得到所有ts的列表,之后拼接地址然后循环就可以得到所有ts文件了。

第一层

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬虫实战之电影爬取过程 的相关文章

随机推荐

  • 【论文速览】根据人脑fMRI信号重建图像 Image Reconstruction from human brain activity

    文章目录 前言 文章一 研究背景 主要方法 部分实验结果 总结与思考 参考资料 文章二 研究背景 主要方法 部分实验结果 总结与思考 前言 人类的视觉神经系统对于真实世界的视觉刺激有着非凡的感知与理解能力 比如我们能够准确地识别物体距离和三
  • (java 基础知识) Java 安全套接字--javax.net.ssl

    有关SSL的原理和介绍在网上已经有不少 对于Java下使用keytool生成证书 配置SSL通信的教程也非常多 但如果我们不能够亲自动手做一个SSL Sever和SSL Client 可能就永远也不能深入地理解Java环境下 SSL的通信是
  • leetcode-2 Add Two Numbers(两数相加)

    题目描述 给出两个 非空 的链表用来表示两个非负的整数 其中 它们各自的位数是按照 逆序 的方式存储的 并且它们的每个节点只能存储 一位 数字 如果 我们将这两个数相加起来 则会返回一个新的链表来表示它们的和 您可以假设除了数字 0 之外
  • 下一个区块链风口必备——跨链互操作

    Moonbeam是首个原生的跨链消息开发者平台 旨在通过结合波卡生态独有的XCM技术和Moonbeam首创的预编译技术为用户带来无缝且丝滑的跨链互操作性体验 让用户在无意中享受多链部署带来特色的同时消除链与链之间的隔阂 除外 Moonbea
  • uboot启动流程分析

    FS4412 SOC的启动过程 在图中有 Cortax A9 其是芯片核心 也就是中央处理器 CPU Internal Rom 是一个只读存储器 里面存储了代码 总大小为64K 它的功能是用于读写pin脚 其作用是用来告诉系统从何处去读取u
  • #13文献学习--边缘计算的计算卸载建模综述

    文献 A survey on computation offloading modeling for edge computing 一 介绍 边缘计算 在网络边缘 代表云服务的下游数据和代表物联网服务的上游数据上执行计算 优势 计算或云计算
  • 【react】state的总结

    state是组件对象最重要的属性 值是对象 组件被称为 状态机 通过更新组件的state来更新对应的页面显示 重新渲染组件 组件中render方法中的this指向组件的实例对象 组件自定义的方法中的this指向undefined 如何解决
  • ffpmeg相对无损转换mkv到mp4,保留标签、封面等元数据

    其实这个无损是相对无损 不是绝对无损 因为mkv封装支持的格式 标签等是比mp4封装要多的 比如mkv可以封装wav音频 mp4不能封装wav音频 所以这里的无损的前提是该mkv的媒体流 标签 TAG 封面图等 都是Mp4本身支持的 才能无
  • 图(基本概念)

    本章重点 图的基本概念和基本性质 图的存储结构 邻接矩阵 邻接表 邻接多重表 十字链表 及其特性 存储结构之间的转化 基于存储结构上的遍历操作和各种应用 拓扑排序 最小生成树 最短路径 关键路径 等 算法难度大 主要掌握深度优先搜索和广度优
  • otsu算法

    otsu法 最大类间方差法 有时也称之为大津算法 使用的是聚类的思想 把图像的灰度数按灰度级分成2个部分 使得两个部分之间的灰度值差异最大 每个部分之间的灰度差异最小 通过方差的计算来寻找一个合适的灰度级别 来划分 所以 可以在二值化的时候
  • 【Redis】缓存问题

    用户数据一般都是存储在数据库中 数据库则落在磁盘上 而磁盘的I O速度是计算机中最慢的硬件 当用户的访问量在某一个时间段突然上升 数据库就很容易崩溃 为了避免用户直接访问数据库 所以会使用缓存数据库 Redis 作为缓冲层 Redis 是内
  • mysql topn_TopN语句

    TopN语句常用于计算实时数据中对某个指标的最大或者最小的前N个数据的筛选 Flink SQL可以基于 OVER窗口操作灵活地完成TopN的工作 语法 SELECT FROM SELECT ROW NUMBER OVER PARTITION
  • 基于FPAG高精度频率与电压测量系统

    基于FPAG高精度频率与电压测量系统 1 系统功能与组成 本次设计的是一个测量频率与电压的系统 其中方波频率范围 在5k 50k内可以精确到小数点后两位测量原理为计算待测频率的周期 电压采用12位双路AD 采样频率为50Mhz 测量的值通过
  • 使用 UpdatePanel

    1 概述 ASP NET UpdatePanel 控件能让你创建丰富的 以客户为中心的 Web 应用程序 使用 UpdatePanel 控件 可以刷新选择的页面部分而不是使用回发来刷新整个页面 这就像是执行了一个局部页面更新一样 包含一个
  • 删除指定文件夹内创建时间24小时之外的所有文件

    File dir new File D dir File list dir listFiles for File file list if new Date getTime file lastModified gt 24 60 60 100
  • 2013我国软件业务收入百强企业揭晓 华为夺冠 (zz)

    z 2013 07 10 10 01 59 IS2120 BG57IV3 T4270528460 K T280 L4220 R118 V3466 新华网5月14日消息 2013年 第十二届 软件前百家企业业务收入达3667亿元 华为 海尔
  • redis扣库存-秒杀活动使用

    简单利用redis的LUA脚本功能 一次性操作 实现原子性扣减库存 注释都写得明白 大家凑合着看吧 没有增加库存 直接是初始化一次库存量 后面等过期失效 特别注意一点 就是在集群模式下 需要解决依赖问题 第二个是 序列化的时候 需要把int
  • STM32学习笔记---TFT-LCD

    一 常见显示器介绍 1 显示器分类 显示器属于计算机的 I O 设备 即输入输出设备 它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具 常见显示器有三类 CRT显示器 LCD液晶显示器 LED点阵显示器 1 1 CRT显示器
  • Golang基础(指针)

    一 变量地址 变量本质就是内存中一块数据的标记 把值存储到变量中实质是把值存储到内存中 每次对变量重新赋值就是在修改变量地址中的内容 在Go语言中可以通过 变量名 获取到变量地址值 重新创建一个非引用型变量 即使是把已有变量直接赋值给新变量
  • Python爬虫实战之电影爬取过程

    俗话说 兴趣所在 方能大展拳脚 so结合兴趣的学习才能事半功倍 更加努力专心 apparently本次任务是在视频网站爬取一些好看的小电影 地址不放 狗头保命 只记录过程 实现功能 从网站上爬取采用m3u8分段方式的视频文件 对加密的 ts