在視頻鏈接一般為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小時內與您取得聯系。