前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

又到了学Python时刻~


环境使用:

  • Python 3.8

  • Pycharm


模块使用:

  • import requests >>> pip install requests

  • import re 正则表达式 解析数据

  • import json

安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令


基本思路流程: <通用>

一. 数据来源分析:

  1. 明确需求:

    采集是什么网站

    采集是什么数据

    • shipin内容

    • shipin标题

  2. 分析我们想要的数据内容, 是请求那个url地址可以得到的

    • 通过开发者工具进行抓包分析

      1. 打开开发者工具: F12 或者 鼠标右键点击检查选择network

      2. 刷新网页

      3. 分析shipin内容在哪里?

shipin内容: m3u8视频格式

正常shipin: 2分09秒 整体

m3u8: 把整体内容, 分成N个片段 <单独ts文件>, 所有片段 <ts文件> 包含在 m3u8 文件里面

获取内容 —> 获取所有ts文件<片段> —> 获取 m3u8 文件链接 —> 网页源代码里面

二. 代码实现步骤:

  1. 发送请求, 模拟浏览器对于url地址发送请求

  2. 获取数据, 获取网页源代码

  3. 解析数据, 提取我们想要的数据内容

    • 标题

    • m3u8 文件链接

  4. 发送请求, 模拟浏览器对于url地址发送请求

    m3u8 文件链接 发送请求

  5. 获取数据, 获取ts文件内容

  6. 解析数据, 提取我们想要的数据内容

    所有ts文件链接 <视频片段>

  7. 保存数据, 所有片段保存下来, 然后合并成完整内容


代码展示

导入模块

# 导入数据请求模块 --> 第三方模块, 需要安装 pip install requests
import requests
# 导入正则模块 --> 内置模块 不需要安装
import re
# 导入json模块 --> 内置模块 不需要安装
import json
# 导入格式化输出模块 --> 内置模块 不需要安装
from pprint import pprint

“”"

1. 发送请求, 模拟浏览器对于url地址发送请求

  • 伪装模拟 headers 请求头

在开发者工具里面进行复制粘贴

“”"

请求链接

PS:本篇完整源码如有需要的小伙伴可以加下方的群去找管理员免费领取

伪装模拟

headers = {# user-agent 用户代理, 表示浏览器基本身份信息'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}

发送请求

调用requests模块里面get请求方法, 对于url地址发送请求, 并且携带上headers请求头伪装, 最后用自定义变量response接收返回数据

response = requests.get(url=url, headers=headers)

<Response [200]> 响应对象, 请求成功了

print(response)

“”"

2. 获取数据, 获取网页源代码

response.text 获取响应文本数据

3. 解析数据, 提取我们想要的数据内容

  • 视频标题

  • m3u8 文件链接

正则表达式 re

  • re.findall(‘匹配什么数据’, ‘从什么地方匹配’) 找到所有我们想要的数据内容

“”"

提取视频标题

title = re.findall('"title":"(.*?)",', response.text)[1]

提取m3u8文件链接

html_data = re.findall('window.pageInfo = window.videoInfo = (.*?);', response.text)[0]

转成字典数据类型 type() 内置函数, 查看数据类型

json_data = json.loads(html_data)

键值对取值 --> 根据冒号左边的内容[键], 提取冒号右边的内容[值]

m3u8_url = json.loads(json_data['currentVideoInfo']['ksPlayJson'])['adaptationSet'][0]['representation'][0]['backupUrl'][0]
print(title)
print(m3u8_url)

“”"

4. 发送请求, 模拟浏览器对于url地址发送请求

m3u8 文件链接 发送请求

5. 获取数据, 获取ts文件内容

6. 解析数据, 提取我们想要的数据内容

所有ts文件链接 <视频片段>

  • 提取所有ts文件

  • 删除掉所有我们不要的

“”"

m3u8_data = requests.get(url=m3u8_url, headers=headers).text

把什么内容,替换成什么,从什么地方替换 split() 分割成列表

m3u8_data = re.sub('#E.*', '', m3u8_data).split()

for循环遍历, 把列表里面元素一个一个提取出来

for ts in m3u8_data:

字符串拼接, 构建完整

“”"

7. 保存数据, 所有视频片段保存下来, 然后合并成完整视频内容

  • 发送请求, 获取数据内容

  • 然后再进行保存

“”"

    ts_content = requests.get(url=ts_url, headers=headers).contentwith open('video\\' + title + '.mp4', mode='ab') as f:f.write(ts_content)print(ts_url)

效果展示




尾语

感谢你观看我的文章呐~本次航班到这里就结束啦

Python采集某网站m3u8内容,美女我来了~相关推荐

  1. Python采集某网站内容, m3u8内容下载

    前言 嗨喽,大家好呐!这里是魔王~ 环境使用: Python 3.8 <建议最好是和一样版本> Pycharm 模块使用: import requests >>> pip ...

  2. python采集小说网站完整教程(附完整代码)

    python 采集网站数据,本教程用的是scrapy蜘蛛 1.安装Scrapy框架 命令行执行: pip install scrapy 安装的scrapy依赖包和原先你安装的其他python包有冲突话 ...

  3. Python采集某网站小视频内容, m3u8内容下载

    前言 大家早好.午好.晚好吖~ 目录标题 前言 环境使用: 模块使用: 模块安装问题: 如果安装python第三方模块: 安装失败原因: 如何配置pycharm里面的python解释器? pychar ...

  4. 使用python 采集某网站全站美女图片 ,这么好看得图还不学起来(含完整源码)

    本次目的: python 抓取某某站图片 本次亮点: 系统性分析页面 多页面数据解析 海量图片数据保存 开发环境 & 第三方模块: 解释器版本 >>> python 3.8 ...

  5. python爬取网站m3u8视频,将ts解密成mp4,合并成整体视频

    一些网站会提供m3u8视频地址,以供下载观看.或者一些网站经过分析后发现是使用m3u8格式进行播放的,这时使用m3u8的地址链接就可以下载到相应的视频. 一.关于m3u8:(https://blog. ...

  6. 这福利给你要不要 — 用Python采集相亲网站女生数据

    前言 俗话说学咱这行的男同志 找对象容易吗 这马上就要过完年了 是时候找找女朋友了 我在这里摸索到了个网站 或许你们可以来看看 送一波单身福利 不需要的也可以学学怎么采集这些数据呗 环境与模块 环境开 ...

  7. Python 采集某网站音乐

    主要技术就是bs4 import json import os import timeimport requests from bs4 import BeautifulSoupfrom access. ...

  8. 利用python采集相关网站信息(函数化)

    from bs4 import BeautifulSoup from MysqlTest import * import requests import time import datetime#是否 ...

  9. python画美女代码_教你用python爬取网站美女图(附代码及教程)

    我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西.那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!! ...

最新文章

  1. ROS建立URDF模型
  2. 查看回滚事物sql_卧槽:这款 SQL自动检查神器,吊炸天的功能,真TMD多!!
  3. 树的前序遍历、中序遍历、后序遍历详解
  4. 【PAT天梯】【L2-2 小字辈(左子右兄加强版)】(树,水题)
  5. Android系统(40)---进程与线程
  6. 一本通1623Sherlock and His Girlfriend
  7. Struts2的属性驱动与模型驱动的区别
  8. python怎么读取excel-python 读取 Excel
  9. 离线在远程linux服务器配置vscode-python环境以及在容器中配置
  10. 谈一谈工程中最为常用的概率图模型
  11. 前端布局篇之文字居中显示
  12. python去重脚本
  13. 微信公众号推广的40个有效果的方法
  14. python中的xbari表示_R语言实现Xbar-R控制图
  15. 云计算未来的5个发展趋势分析
  16. 年轻时欠下风流情债的十大男女明星(组图)
  17. SXT:聚合与组合的理解
  18. 细说SSH隧道——本地端口转发
  19. 看看人家那系统设计做的,那叫一个优雅
  20. php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)

热门文章

  1. VS2017中自用部分插件的设置的翻译或功能介绍——Supercharger
  2. Eden's sharing : Supercharger
  3. AVG 杀毒软件2013中文版下载-来自捷克支持win8的免费杀毒软件
  4. 计算机类实用新型专利,计算机机箱小物件类职称用实用新型专利办理评职称专...
  5. 光电隔离电路设计方案(六款基于光耦、AD210AN的光电隔离电路图)
  6. php实现qq一键登录,Thinkphp 实现QQ一键登录的例子
  7. 计算机运行栏在哪里,电脑上的开始菜单在哪
  8. 北斗导航 | 完好性监测中的统计分析方法
  9. 2022年蓝桥杯c/c++ b组解析(持续更新中)
  10. 警惕AI,我搭建了一个“枪枪爆头”的视觉AI自瞄程序,却引发了一场“山雨欲来”