整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

(Python基础教程之二十二)爬虫下载网页视频(v

(Python基础教程之二十二)爬虫下载网页视频(video blob)

在视频链接一般为m3u8,找到m3u8地址就可以下载了

  1. 打开Chrome Developer工具,然后点击“网络”标签。
  2. 导航到包含视频的页面,然后开始播放。
  3. 将文件列表过滤为“ m3u8”。
  4. 找到master.m3u8或index.m3u8并单击它。
  5. 将文件保存到磁盘并在其中查看。
  6. 如果文件包含一个m3u8主URL,则复制该URL。
  7. 使用ffmpeg 工具下载m3u8视频ffmpeg -i "https://secure.brightcove.com/services/mobile/streaming/index/rendition.m3u8?assetId=6138283938001&secure=true&videoId=6138277786001" -bsf:a aac_adtstoasc -vcodec copy -c copy -crf 50 6138277786001.mp4Python下载代码#!/usr/bin/env python3 import requests,urllib from bs4 import BeautifulSoup import os import subprocess

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)

```

  1. Python基础教程
  2. 在SublimeEditor中配置Python环境
  3. Python代码中添加注释
  4. Python中的变量的使用
  5. Python中的数据类型
  6. Python中的关键字
  7. Python字符串操作
  8. Python中的list操作
  9. Python中的Tuple操作
  10. Pythonmax()和min()–在列表或数组中查找最大值和最小值
  11. Python找到最大的N个(前N个)或最小的N个项目
  12. Python读写CSV文件
  13. Python中使用httplib2–HTTPGET和POST示例
  14. Python将tuple开箱为变量或参数
  15. Python开箱Tuple–太多值无法解压
  16. Pythonmultidict示例–将单个键映射到字典中的多个值
  17. PythonOrderedDict–有序字典
  18. Python字典交集–比较两个字典
  19. Python优先级队列示例
  20. python中如何格式化日期
  21. 30 分钟 Python 爬虫教程
  22. 爬虫下载网页视频(video blob)

作者:分布式编程 出处:https://zthinker.com/

如果你喜欢本文,请长按二维码,关注 分布式编程 .

t中引入html调节样式

HTML

  • 设置行间距字体高度和颜色
<html><head/><body><p style=\"height:16px;line-height:24px;color:#787878\"> helloWorld</p></body></html>

技巧

  • 实现Html链接动态下划线
    • 继承QLabel并重写进入离开事件(对Html文字链接中text-decoration: none;属性进行控制). 即可实现鼠标停留时显示下划线, 鼠标离开时隐藏下划线.

数字时代,多媒体元素如视频、音频、图片和动画成为了网页设计中不可或缺的一部分。它们不仅能够提升用户体验,还能有效地传达信息和情感。在本文中,我们将探讨如何在网页中嵌入各种多媒体元素,并提供一些例子来说明如何使用它们。

图片

图片是最常见的多媒体类型之一。在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 示例

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>

这个SVG示例创建了一个简单的带有绿色边框和黄色填充的圆。

Canvas 示例

<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> 标签,我们可以在网页中添加丰富的视觉和听觉内容。此外,社交媒体的嵌入功能使得分享和展示社交媒体内容变得简单。当设计包含多媒体元素的网页时,记得考虑到所有用户的访问性,确保内容对所有人都是可访问的。