日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搜索关键词采集YouTube视频字幕

發布時間:2023/12/31 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搜索关键词采集YouTube视频字幕 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用python采集YouTube視頻字幕

本篇博客純干貨!!!
最近接到leader安排的采集任務,抓取采集世界上最大的視頻共享網站YouTube的視頻字幕。

分析目標網站,開始抓包

當我打開視頻鏈接點擊顯示字幕按鈕時,通過瀏覽器抓取到timedtext這樣的一個請求,而返回的內容正式我想要的數據——每個時間點的字幕。

分析該URL有視頻ID、signature、key、expire等參數,每次發生變化的是signature,開始通過js突破該參數。過程這里不做詳細描述。

終于在該視頻源代碼中找到這樣一段js

"playerCaptionsTracklistRenderer\":{\"captionTracks\":[{\"baseUrl\":\"https:\/\/www.youtube.com\/api\/timedtext?xorp=True\\u0026signature=DC15F46CCF5A97B616CFF6EA13626BC34E24B848.454E61B37E4E1AE37BF2C83F311D8EB362B165AA\\u0026hl=zh-CN\\u0026sparams=caps%2Cv%2Cxoaf%2Cxorp%2Cexpire\\u0026expire=1566051203\\u0026caps=\\u0026key=yttt1\\u0026xoaf=1\\u0026v=7j0xuYKZO4g\\u0026lang=en\\u0026name=English\",

原來一直費盡心思想解析的URL暴露在源碼中了,格式化代碼后知道他是一段json串,很多視頻信息都在該json中,如發布時間、標題、簡介、點擊量等;心中的小激動?

接下來,通過正則匹配需要的URL

ytplayer_config = json.loads(re.search('ytplayer.config\s*=\s*([^\n]+?});', response.text).group(1)) caption_tracks = json.loads(ytplayer_config['args']['player_response'])['captions']['playerCaptionsTracklistRenderer']['captionTracks'] for c in caption_tracks:url = c["baseUrl"] # 在url后拼接上&tlang=zh-Hans返回的字幕為中文,&tlang=en-Hans返回的字幕為英文

最后得到字幕URL通過python請求后解析拿到字幕數據。大功告成
有字幕的視頻才會有baseUrl這個值,沒有字幕的視頻這樣取會報異常的哦~

YouTube列表翻頁

字幕解析出來了,下一步批量采集需要的視頻字幕。
需求:

通過搜索采集結果中所有字幕。

分析:

視頻翻頁是基于ajax請求來的,源碼里面的信息始終都是第一頁的數據, ok 那既然這樣,我們來分析ajax請求,我喜歡用谷歌瀏覽器,打開開發者工具,network,來抓包。 鼠標一直往下拉,會自動請求,是個post請求,一看就是返回的視頻信息。


看到這里很高興,離勝利已經不遠了。但,我們先來看下headers 以及發送的post參數,看了之后 就一句 wtf。。。


一萬個羊駝在奔騰,我把那些加密的參數都標記了,前后端交互,既然是發過去的數據,那肯定已經在前端產生了,至于什么產生的,那就要一步一步分析來了,最后。對 我沒有分析出來。。。剛開始挨著挨查看js文件,參數的確是在js里面產生的,但。。。tmd寫的太復雜了。。。能力有限,解決不了。難道就這樣放棄了嗎。肯定不會,不然 各位也不會看到這篇文章了。于是,我靈機一動,在地址欄里面輸入&page=結果,真的返回視頻了。。。臥槽 哈哈哈,我當時真是很開心呢。因為前端頁面上并沒有翻頁按鈕,沒想到竟然還真的可以這樣翻頁。。。哈哈

接下來就是匹配每頁的視頻鏈接 – 訪問 – 獲取字幕
完活 交差 回家 吃飯 睡覺咯

感謝觀看!

總結

以上是生活随笔為你收集整理的搜索关键词采集YouTube视频字幕的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。