当前位置: 首页 > news >正文

网上请人做软件的网站铝合金型材外发加工网

网上请人做软件的网站,铝合金型材外发加工网,我的ip地址查询,公司注册地址变更需要多长时间提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Python协程爬取视频 前言 提示#xff1a;这里可以添加本文要记录的大概内容#xff1a; 爬虫案例七协程爬取视频 提示#xff1a;以下是本篇文章正文… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、Python协程爬取视频 前言 提示这里可以添加本文要记录的大概内容 爬虫案例七协程爬取视频 提示以下是本篇文章正文内容下面案例可供参考 一、Python协程爬取视频 网址:https://www.tpua.vip/play/84942-1-1.html 目标:爬取视频import requests import re from urllib.parse import urljoin import aiohttp import aiofiles import asyncio import os import subprocess head {:#自行添加自己的头 } def get_m3u8_url():url https://www.tpua.vip/play/84942-1-1.htmlsession requests.session()session.headers {:#自行添加自己的头}resp session.get(url)obj re.compile(rplayer:\\/public\\/,url:(?Purl.*?))m3u8_url obj.search(resp.text).group(url).replace(\\,)print(m3u8_url)return m3u8_urldef download_m3u8(url):session requests.session()session.headers {:#自行添加自己的头}m3u8_resp session.get(url)# # 保存m3u8with open(index.m3u8,modew,encodingutf-8) as f:f.write(m3u8_resp.text) def has_next_m3u8():with open(index.m3u8,moder,encodingutf-8) as f:for line in f:if line.startswith(#EXT-X-STREAM-INF):return f.readline().strip()return Falseasync def download_one(ts_url,file_name,sem):print(f{file_name},开始下载)# 设置并发量async with sem:# 下载# 设置超时时间async with aiohttp.ClientSession(headershead) as sess:async with sess.get(ts_url) as resp:content await resp.content.read()async with aiofiles.open(f./source/{file_name}, modewb) as f:await f.write(content)print(f{file_name},下载完毕) async def download_all_ts(m3u8_url_2):# 信号量,控制并发量sem asyncio.Semaphore(10)tasks []i 1with open(index.m3u8,moder,encodingutf-) as f:for line in f:if i 10:breakline line.strip()if line.startswith(#):continueif not line.startswith(https):line urljoin(m3u8_url_2, line)print(line)# 去下载一个tst asyncio.create_task(download_one(line,f{i}.ts,sem))tasks.append(t)i 1await asyncio.wait(tasks)def create_list():input_folder ./source # 替换为你的 .ts 文件文件夹路径# merge_ts_files(input_folder, output_file)# 获取所有 .ts 文件并排序ts_files sorted([os.path.join(input_folder, f) for f in os.listdir(input_folder) if f.endswith(.ts)])if not ts_files:print(未找到 .ts 文件)# 创建一个临时文件列出所有 .ts 文件的路径file_list_path os.path.join(input_folder, file_list.txt)with open(file_list_path, w) as f:for ts_file in ts_files:ts_name ts_file.split(\\)[-1]# print(ts_name)f.write(file ts_name\n) def main():# 提取m3u8的urlm3u8_url get_m3u8_url()print(提取的m3u8_url,m3u8_url)# 下载m3u8文件download_m3u8(m3u8_url)print(下载m3u8_url文件,m3u8_url)# 是否有下一层m3u8m3u8_url_2 has_next_m3u8()print(是否有下一层next_m3u8_url,m3u8_url_2)while m3u8_url_2:# 有下一层拼接urlm3u8_url urljoin(m3u8_url,m3u8_url_2)# 下载文件download_m3u8(m3u8_url)print(下载m3u8,m3u8_url)# 判断是否还要下一层m3u8_url_2 has_next_m3u8()print(是否还有下一层,m3u8_url_2)# 异步下载tsloop asyncio.get_event_loop()loop.run_until_complete(download_all_ts(m3u8_url))if __name__ __main__:main()create_list()# cmd 上输入命令合并视频 ffmpeg -f concat -i file_list.txt -c copy output.mp4 # ffmpeg需要自行去下载并将其bin路径添加到path的环境变量中流程是在源代码里要找到并用re提取出m3u8的url并异步去.ts文件当然有的可能不是.ts可能是其他的结尾形式如:.jpeg最后使用ffmpeg合并.ts文件,我并没有全部对.ts文件全部爬取只是爬取了前10个.ts文件并进行了视频合并。
http://www.w-s-a.com/news/88536/

相关文章:

  • 手机网站建设万网山东省作风建设网站
  • 网站策划专员招聘50万县城做地方网站
  • 网站开发公司+重庆wordpress自定义搜索界面
  • 梅州南站学校官网
  • 网站变灰代码 所有浏览器企业邮箱域名怎么填写
  • 网站建设哪好旅行社网站模板
  • 网站开发发展存在的问题交换链接营销的经典案例
  • 烟台高端网站建设公司福田市网站建设推广
  • 做网站如何保证询盘数量智慧城市
  • 大连网站平台研发wordpress更改地址
  • 做标书要不要做网站南昌网站排名优化费用
  • 网站内容如何自动关联新浪微博万网域名信息
  • 网站出售网络推广服务费计入什么科目
  • 宁波咨询网站设计西安网站制作开发
  • 深圳市专注网站建设全网营销网络推广
  • 如何快速建设网站虚拟空间软件
  • 一个虚拟主机可以做几个网站免费软件下载中心
  • 美工培训网站中国建筑网官网手机版
  • 创建网站花钱吗谁能给个网址免费的
  • 宁波教育学会网站建设网站建设价格由什么决定
  • 北京定制网站价格wordpress上传pdf文档
  • 网站建设费税率dz论坛seo设置
  • 推销网站话术商业网站开发与设计
  • 金华网站建设哪个网站做欧洲旅行比较好
  • 东莞市住房和城乡建设局网站trswcm网站建设
  • 郑州做网站企业h5编辑器免费版
  • 加强公司窗口网站建设陕西省外省入陕建筑信息平台
  • 成都网站优化实战大连企业网站建设模板
  • 服务器硬件影响网站速度seo网站推广价格
  • 学院网站开发竞争对手分析买网站送域名