1. 程式人生 > >爬蟲,關於 video 標籤 src 帶有blob:http的 一些想法

爬蟲,關於 video 標籤 src 帶有blob:http的 一些想法

大家好,我是烤鴨:

    之前玩爬蟲的時候,看到過video標籤中src屬性引入的blob:http:xxxx,當時沒找到解決思路,今天又遇到類似問題,就試著找了一下。

1.   分析

看video標籤中的src屬性,發現 src="blob:https://open.gaodun.com/b9d3366f-87ef-4328-9d97-31110de519a1"

複製這個地址去瀏覽器什麼也找不到。

2.   找真實地址

不管上面的問題。先去看一下視訊到底從哪來的。以谷歌瀏覽器為例,選擇XHR,發現載入了m3u8檔案。

m3u8是一種視訊格式,看response中返回的.ts檔案,直接複製ts檔案的路徑開啟,就是視訊片段。

3.     找關聯

當我對著原始碼和請求的response對照的時候,發現播放器周圍的html標籤都是後生成的,找到了一個比較“可疑”的js檔案。

發現播放器程式碼附近的:

<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裡邊包含的視訊地址。

歡迎有想法的朋友多交流。