在视频链接一般为m3u8,找到m3u8地址就可以下载了
pwd=os.path.split(os.path.realpath(file))[0]
url="https://www.topgear.com/videos"
headers={ 'upgrade-insecure-requests': "1", 'user-agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36", 'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8", 'accept-encoding': "gzip, deflate, br", 'accept-language': "zh-CN,zh;q=0.9,en;q=0.8", 'cookie': "has_js=1; minVersion={"experiment":1570672462,"minFlavor":"new_vermi-1.13.7.11.js100"}; minUniq=%7B%22minUID%22%3A%22bb80328a30-e8cdeb4d55-9a314411d2-aff4bb11a6-4aa23e3779%22%7D; minDaily=%7B%22testMode%22%3Atrue%2C%22dailyUser%22%3Atrue%7D; __gads=ID=b6eee23a8df86f72:T=1588041695:S=ALNI_MYCQR1Bf2fq53bqISIZBy8kIgI9oA; minBuffer=%7B%22minAnalytics%22%3A%22%7B%5C%22clicks%5C%22%3A%5B%5D%2C%5C%22clicksDelay%5C%22%3A%5B%5D%7D%22%2C%22_minEE1%22%3A%22%5B%5D%22%7D; minSession=%7B%22minSID%22%3A%227f32fd50ab-88cc4cf6f3-68d284cdee-1faeb65c08-c5966d76ac%22%2C%22minSessionSent%22%3Atrue%2C%22hadImp%22%3Atrue%2C%22sessionUniqs%22%3A%22%7Btime%3A1588053248571%2Clist%3A%5B11206251nt0%5D%7D%22%7D; OptanonConsent=landingPath=NotLandingPage&datestamp=Tue+Apr+28+2020+13%3A55%3A33+GMT%2B0800+(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)&version=3.6.24&AwaitingReconsent=false&groups=1%3A1%2C101%3A0%2C2%3A0%2C0_132429%3A0%2C3%3A0%2C4%3A0%2C0_132431%3A0%2C104%3A0%2C106%3A0%2C111%3A0%2C114%3A0%2C120%3A0%2C124%3A0%2C126%3A0%2C130%3A0%2C133%3A0%2C134%3A0%2C144%3A0%2C145%3A0%2C146%3A0%2C147%3A0%2C150%3A0%2C151%3A0%2C157%3A0%2C162%3A0%2C173%3A0%2C0_126679%3A0%2C0_137695%3A0%2C0_132361%3A0%2C0_132391%3A0; GED_PLAYLIST_ACTIVITY=W3sidSI6Ijh5clQiLCJ0c2wiOjE1ODgwNTMzNDksIm52IjowLCJ1cHQiOjE1ODgwNTMzMzMsImx0IjoxNTg4MDUzMzM3fV0.", 'cache-control': "no-cache"}
if name=='main': response=requests.request("GET", url, headers=headers) soup=BeautifulSoup(response.text, 'html.parser') videoId=soup.find_all('video', class_="video-js")[0]['data-video-id'] ##获取视频Id title=soup.find_all('h1', class_="video-player__title")[0].contents[0] ##获取视频标题 url="https://secure.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId={}&secure=true".format(videoId) ##生成视频下载Url filename='{}.mp4'.format(title).replace(" ","-") cmd_str='ffmpeg -i "' + url + '" ' + '-acodec copy -vcodec copy -absf aac_adtstoasc ' + pwd + "/" +filename ##下载视频 print(cmd_str) subprocess.call(cmd_str,shell=True)
```
作者:分布式编程 出处:https://zthinker.com/
如果你喜欢本文,请长按二维码,关注 分布式编程 .
<html><head/><body><p style=\"height:16px;line-height:24px;color:#787878\"> helloWorld</p></body></html>
数字时代,多媒体元素如视频、音频、图片和动画成为了网页设计中不可或缺的一部分。它们不仅能够提升用户体验,还能有效地传达信息和情感。在本文中,我们将探讨如何在网页中嵌入各种多媒体元素,并提供一些例子来说明如何使用它们。
图片是最常见的多媒体类型之一。在HTML中,我们使用 <img> 标签来嵌入图片。
<img src="example.jpg" alt="描述性文字" width="500" height="300">
在这个例子中,src 属性指定图片的路径,alt 属性提供图片的替代文本(对于视觉障碍用户和图片无法加载的情况非常有用),width 和 height 属性指定图片的尺寸。
视频可以提供动态的视觉体验和信息。HTML5引入了 <video> 标签,使得嵌入视频变得简单。
<video width="640" height="360" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
您的浏览器不支持视频标签。
</video>
在这个例子中,controls 属性添加了视频播放控件,如播放、暂停和音量控制。<source> 标签允许指定多个视频格式,以确保跨不同浏览器的兼容性。
音频元素可以用来播放声音或音乐。HTML5通过 <audio> 标签提供了对音频内容的支持。
<audio controls>
<source src="sound.mp3" type="audio/mpeg">
<source src="sound.ogg" type="audio/ogg">
您的浏览器不支持音频元素。
</audio>
与视频标签类似,controls 属性为音频文件提供了基本的控制选项,而 <source> 标签让我们可以指定多个音频格式。
除了直接嵌入文件,我们还可以嵌入整个网页或者其他网站的内容,比如地图或社交媒体帖子。这通常是通过 <iframe> 标签完成的。
<iframe src="https://www.example.com" width="600" height="400">
<p>您的浏览器不支持iframe标签。</p>
</iframe>
在这个例子中,src 属性指定了要嵌入的网页的URL,width 和 height 属性设置了iframe的尺寸。
SVG(可缩放矢量图形)和Canvas API是创建网页动画和图形的两种流行技术。
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
这个SVG示例创建了一个简单的带有绿色边框和黄色填充的圆。
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0, 0, 150, 75);
</script>
这个Canvas示例使用JavaScript在画布上绘制了一个红色的矩形。
我们还可以嵌入社交媒体平台上的内容,如推文或Instagram帖子。
<!-- Twitter -->
<a class="twitter-timeline" href="https://twitter.com/TwitterDev?ref_src=twsrc%5Etfw">Tweets by TwitterDev</a>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<!-- Instagram -->
<blockquote class="instagram-media" data-instgrm-permalink="https://www.instagram.com/p/B1JWcqCgsdH/">
</blockquote>
<script async defer src="//www.instagram.com/embed.js"></script>
这些例子展示了如何嵌入Twitter和Instagram的内容。通常,社交媒体平台提供了易于嵌入内容的代码片段。
嵌入多媒体元素可以极大地提升网站的吸引力和互动性。通过使用HTML的 <img>, <video>, <audio>, <iframe>, <svg> 和 <canvas> 标签,我们可以在网页中添加丰富的视觉和听觉内容。此外,社交媒体的嵌入功能使得分享和展示社交媒体内容变得简单。当设计包含多媒体元素的网页时,记得考虑到所有用户的访问性,确保内容对所有人都是可访问的。
*请认真填写需求信息,我们会在24小时内与您取得联系。