爬虫,关于 video 标签 src 带有blob:http的 一些想法
大家好,我是烤鴨:
? ? 之前玩爬蟲的時候,看到過video標簽中src屬性引入的blob:http:xxxx,當時沒找到解決思路,今天又遇到類似問題,就試著找了一下。
這是有人問過?https://vimeo.com/?這個網站的視頻怎么下載。
? ? ??https://superuser.com/questions/1033563/how-to-download-video-with-blob-url?answertab=votes
?
1.? ?分析
? ??以這個網址為例:
https://open.gaodun.com/%E5%90%8D%E5%AE%B6%E8%AE%B2%E5%9D%9B/21.html
看video標簽中的src屬性,發(fā)現
src="blob:https://open.gaodun.com/b9d3366f-87ef-4328-9d97-31110de519a1"
復制這個地址去瀏覽器什么也找不到。
?
2.? ?找真實地址
不管上面的問題。先去看一下視頻到底從哪來的。以谷歌瀏覽器為例,選擇XHR,發(fā)現加載了m3u8文件。
m3u8是一種視頻格式,看response中返回的.ts文件,直接復制ts文件的路徑打開,就是視頻片段。
到這,文件其實已經找到了。但是video中的blob:https://xxxx是什么呢,是怎么找到的文件。
這篇文章給了解釋。
? ? ? ??https://blog.csdn.net/xingyun89114/article/details/80699527
簡單來說就是視頻對象做了個標記,src指向的是標記。
?
3.? ? ?找關聯(lián)
當我對著源碼和請求的response對照的時候,發(fā)現播放器周圍的html標簽都是后生成的,找到了一個比較“可疑”的js文件。
發(fā)現播放器代碼附近的:
<div class="playDiv" id="divid"> <script type="text/javascript" src="https://s.gaodun.com/web/static-player/loader.js?13p9Wv580v1a!!fs-3"></script> </div>看了js的源碼,再跟了下debug。
找到了這個網頁請求的m3u8地址是這個:https://vod.gaodun.com/13p9Wv580v1a!!fs/SD/1.m3u8。
直接瀏覽器訪問就可以獲取,就可以獲取ts文件。ts文件就是一段段的視頻,可以下載下來之后拼接成一個完整的文件。
?
4.? ? ?總結
? ? 至此,關于video 標簽 src 帶有blob:http的 抓取的就寫完了。但是每個網站的情況都不一樣。
這里只是提供一種思路,比如剛開始寫的?https://vimeo.com/?這個網站就不是js,而是json里邊包含的視頻地址。
歡迎有想法的朋友多交流。
?
總結
以上是生活随笔為你收集整理的爬虫,关于 video 标签 src 带有blob:http的 一些想法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Asp.Net开通支付宝PC端网页支付
- 下一篇: Web前端开发技术第三版课后练习答案