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

网站设计沟通58同城如何发广告

网站设计沟通,58同城如何发广告,天猫网站做链接怎么做,潍坊网站建设wancet提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Python协程爬取视频 前言 提示:这里可以添加本文要记录的大概内容: 爬虫案例七协程爬取视频 提示:以下是本篇文章正文…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、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.html"session = requests.session()session.headers = {"":""#自行添加自己的头}resp = session.get(url)obj = re.compile(r'"player":"\\/public\\/","url":"(?P<url>.*?)"')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',mode="w",encoding='utf-8') as f:f.write(m3u8_resp.text)
def has_next_m3u8():with open("index.m3u8",mode="r",encoding="utf-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(headers=head) as sess:async with sess.get(ts_url) as resp:content = await resp.content.read()async with aiofiles.open(f"./source/{file_name}", mode="wb") 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",mode='r',encoding='utf-') 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.ritt.cn/news/18544.html

相关文章:

  • 怎么建设自己收费网站新网站 seo
  • 网站风格包括什么百度官网认证多少钱
  • 襄阳市做网站的公司指数计算器
  • 做淘宝主要看哪些网站百度品牌广告多少钱
  • 做系统的网站网络营销的特点包括
  • 南京做网站咨询南京乐识上海网站建设方案
  • 杭州江干建设局网站附近哪里有计算机培训班
  • 云网站开发推广普通话手抄报内容怎么写
  • 织梦cms wordpress常用的seo工具的是有哪些
  • 不使用域名做网站今日百度小说排行榜风云榜
  • 如何做自己的网站链接竞价
  • 北京学做网站网站没有友情链接
  • h5响应式音乐网站模板友情链接有哪些展现形式
  • 跨境电商独立站是什么意思免费站推广网站2022
  • 做电子商务网站需要办理什么证营销方案案例
  • 网页制作图片显示不出来win10系统优化软件
  • 做网站域名不备案会怎么样网站开发
  • 做营销策划的上哪个网站好百度关键词推广可以自己做吗
  • 网站安全评估怎么做短视频推广平台
  • 自己网站视频直播怎么做企业邮箱登录入口
  • 射阳做网站的公司关键词优化方法
  • 做网站 还是淘宝店东莞网络优化调查公司
  • 求推荐在哪个网站做德语翻译员短视频营销推广方案
  • 代购网站项目描述中国优秀网页设计案例
  • 贵州疫情风险等级查询seo搜索引擎官网
  • wps上怎么做网站点击分析表seo技术培训海南
  • 北京网站建设公司排名搜索引擎都有哪些
  • 移动端网站制作模板百度小说风云榜排名
  • 网站制作的评价标准成都seo论坛
  • 网站开发小工具桔子seo网