Python采集某网站内容, m3u8内容下载
前言
嗨喽,大家好呐!这里是魔王~
环境使用:
- Python 3.8 <建议最好是和一样版本>
- Pycharm
模块使用:
- import requests >>> pip install requests
内置模块 你安装好python环境就可以了
- import re
- import json
如果安装python第三方模块:
- win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
- 在pycharm中点击Terminal(终端) 输入安装命令
实现案例 <通用模板>
一. 数据来源分析
采集数据内容, 要知道我们想要内容是来自哪里
<开发者工具进行抓包分析>
- F12打开打开发者工具
- 刷新网页 让数据重新加载一遍
- 这个网站是一个m3u8内容
正常情况, 一个完整的内容
m3u8内容 会整个完整内容,分割成很多个小视频片段 <ts文件> 一个ts文件 可能只有几秒钟的时间
所以我们得去找一个文件内容 <m3u8文件> 包含我们所有ts文件内容 <所有视频片段>
最好的搜索方式, 是根据ts文件url去搜索m3u8文件
请求获取网页源代码 就可以得到m3u8文件 >>> 所有片段就得到了 >>> 合成为一个整体的内容
二. 代码实现步骤: <基本四大步骤>
发送请求, 对于播放详情页url地址发送请求
获取数据, 获取网页源代码 <获取服务器返回response响应数据>
解析数据, 提取我们想要数据内容 <m3u8文件>
发送请求, 对于m3u8文件url发送请求
获取数据, 获取服务器返回response响应数据
解析数据, 提取所有ts文件内容 <片段url>
保存数据, 保存内容到本地
代码
import timeimport requests # 数据请求模块
import re # 正则表达式模块
import json
import pprintfor page in range(3, 29):print(f'正在采集第{page}页的数据')time.sleep(1)link = 'https://www.acfun.cn/u/29946310'data = {'quickViewId': 'ac-space-video-list','reqID': page+1,'ajaxpipe': '1','type': 'video','order': 'newest','page': page,'pageSize': '20','t': '1653659024877',}headers = {'referer': 'https://www.acfun.cn/u/29946310','user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'}response = requests.get(url=link, params=data, headers=headers)# pprint.pprint(response.text)ac_id_list = re.findall('atomid.*?:.*?"(\d+).*?"', response.text)print(ac_id_list)for ac_id in ac_id_list:url = f'https://www.acfun.cn/v/ac{ac_id}'headers = {源码、解答、资料加Q裙:261823976'referer': f'https://www.acfun.cn/u/{ac_id}','user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'}response = requests.get(url=url, headers=headers)title = re.findall('<title >(.*?) - AcFun弹幕视频网 - 认真你就输啦 \(\?ω\?\)ノ- \( ゜- ゜\)つロ</title>', response.text)[0]html_data = re.findall('window.pageInfo = window.videoInfo = (.*?);', response.text)[0]json_data = json.loads(html_data)m3u8_url = json.loads(json_data['currentVideoInfo']['ksPlayJson'])['adaptationSet'][0]['representation'][0]['backupUrl'][0]m3u8_data = requests.get(url=m3u8_url, headers=headers).textm3u8_data = re.sub('#E.*', '', m3u8_data).split()print(title)print(m3u8_url)# for ts in m3u8_data:# ts_url = 'https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/' + ts# ts_content = requests.get(url=ts_url, headers=headers).content# with open('video\\' + title + '.mp4', mode='ab') as f:# f.write(ts_content)# print(ts_url)
Python的应用学习方向有哪些?
网站开发:
如目前优秀的全栈的 django、框架flask ,都继承了python简单、明确的风格,开发效率高、易维护,与自动化运维结合性好。
python已经成为自动化运维平台领域的事实标准;
爬虫程序
在爬虫领域,Python几乎是霸主地位,将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。
从事该领域应学习爬虫策略、高性能异步IO、分布式爬虫等,并针对Scrapy框架源码进行深入剖析,从而理解其原理并实现自定义爬虫框架。
数据分析
Python语言相对于其它解释性语言最大的特点是其庞大而活跃的科学计算生态,在数据分析、交互、可视化方面有相当完善和优秀的库.
自动化脚本
执行许多重复的任务,例如阅读 pdf、播放音乐、查看天气、打开书签、清理文件夹等等,使用自动化脚本
就无需手动一次又一次地完成这些任务,非常方便。
人工智能
各种人工智能算法都基于Python编写,尤其PyTorch之后,Python作为AI时代头牌语言的位置基本确定。
游戏开发/辅助 自动化测试 运维 图像处理 树莓派
尾语
成功没有快车道,幸福没有高速路。
所有的成功,都来自不倦地努力和奔跑,所有的幸福都来自平凡的奋斗和坚持
——励志语录
本文章就写完啦~感兴趣的小伙伴可以复制代码去试试
你们的支持是我最大的动力!!记得三连哦~
Python采集某网站内容, m3u8内容下载相关推荐
- Python采集某网站小视频内容, m3u8内容下载
前言 大家早好.午好.晚好吖~ 目录标题 前言 环境使用: 模块使用: 模块安装问题: 如果安装python第三方模块: 安装失败原因: 如何配置pycharm里面的python解释器? pychar ...
- Python采集某网站m3u8内容,美女我来了~
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 环境使用: Python 3.8 Pycharm 模块使用: import requests >>> pip ...
- python采集小说网站完整教程(附完整代码)
python 采集网站数据,本教程用的是scrapy蜘蛛 1.安装Scrapy框架 命令行执行: pip install scrapy 安装的scrapy依赖包和原先你安装的其他python包有冲突话 ...
- 我Python采集了新榜热门内容,原来这就是别人能成为自媒体大佬的秘密!
大家好,我是辣条,这是我爬虫系列的第25篇. 今天爬取的是一个自媒体人宝藏网站. 编辑区 编辑区包含了文章编辑的所有功能,重点是所有功能.素材都是免费的,像你写博客或者微信公众号都有用过这种类似的编辑 ...
- 这福利给你要不要 — 用Python采集相亲网站女生数据
前言 俗话说学咱这行的男同志 找对象容易吗 这马上就要过完年了 是时候找找女朋友了 我在这里摸索到了个网站 或许你们可以来看看 送一波单身福利 不需要的也可以学学怎么采集这些数据呗 环境与模块 环境开 ...
- 使用python 采集某网站全站美女图片 ,这么好看得图还不学起来(含完整源码)
本次目的: python 抓取某某站图片 本次亮点: 系统性分析页面 多页面数据解析 海量图片数据保存 开发环境 & 第三方模块: 解释器版本 >>> python 3.8 ...
- python抓取网站的图片并下载到本地
#!/usr/bin/python # -*- coding: UTF-8 -*- import re import urllib,urllib2;#通过url获取网页 def getHtml(url ...
- Python 采集某网站音乐
主要技术就是bs4 import json import os import timeimport requests from bs4 import BeautifulSoupfrom access. ...
- 利用python采集相关网站信息(函数化)
from bs4 import BeautifulSoup from MysqlTest import * import requests import time import datetime#是否 ...
最新文章
- Navicat for Oracle工具连接oracle
- MATLAB实战系列(十四)-如何通过YALMIP和CPLEX求解小规模(CVRP)路径调度问题(附MATLAB代码)
- 趣谈设计模式 | 模板方法模式(Template Method):封装不变部分,扩展可变部分
- matlab中select,[转载]MATLAB阈值获取函数ddencmp、thselect、wbmpen和w
- php Spreadsheet 导出,PhpSpreadsheet 导出Excel
- rtt学习记录、面向对象oopc等分享
- Android BLE(2)---蓝牙学习
- ear的英语怎么念_Dog是“狗”,ear是“耳朵”,Dog ear真不是“狗耳朵”
- 原生JS实现HTML文件上传,HTML5 js实现拖拉上传文件功能
- Java基础练习之流程控制(二)
- oracle实际是什么意思,Oracle遇到的应用实际教程
- 计算机辅助翻译术语PPT,计算机辅助翻译
- 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~1游戏引擎
- C++模板与泛型编程:模板特例化
- 云服务器除了阿里云外其他哪个比较好?
- C#中用RSA算法生成公钥和私钥
- CyberWorld赛博世界是否能成为元宇宙核心力量
- 【PaddleSeg】【天池大赛】真实场景篡改图像检测挑战赛线上2391
- linux 服务器频繁重启,服务器经常无故关机,重启?可能是锐速和BBR(Linux内核)影响...
- C语言循环水题,科学网—水文模型大本营 - 陈昌春的博文
热门文章
- html 定义函数调用函数,HTML function函数怎么定义和调用?
- gtid mysql_mysql gtid
- python十进制转八进制_python进制转换(二进制、十进制和十六进制)及注意事项...
- 【NLP】大模型训练之难,难于上青天?预训练易用、效率超群的「李白」模型库来了!...
- 前额叶脑电不对称的评估和概念化
- Android学习笔记--GMS认证中常见的fail项及解决方法
- 两两交换链表中的结点-指针
- CSP-20170902
- css3 - 字体图标库使用方法
- 关于JObject的用法,以及实现动态生成实体对象、动态创建一些Josn组合