自動下載Twitter視頻圖片golang實現

Github地址

Github: https://github.com/gohiweeds/twitterdownloader.git

功能

  • 支持Socks5代理配置

國內的:支持設置SOCK5 代理,下載Twitter視頻圖片
如果已經配置了就不需要了使用SOCK5下載了,如下,直接下載即可,無須配置HTTP代理。
MacOS:

export http_proxy=xxx
export https_proxy=xxx

原因

前一段時間瀏覽Twitter看到了一個搞笑的視頻,想保存下來,但是發現都是hls的視頻片段,下載挺麻煩的,於是用golang實現了一個自動下載Tweet的視頻功能。

實現原理

Twitter的視頻是通過javascript的執行來完成的,都是xhr的請求。
這種方式下載比較麻煩,之前我的打算是golang中搭建一個javascript的解釋器然後計算執行,但是執行過程中遇到了一些問題,javascript + DOM的綁定等,比較複雜,對於一個嵌入式工程師來說,對javascript也不是很熟悉,作罷。

後來在github上找到了一個直接請求相對uri直接獲取配置的,現在已經過期了還是python實現,依賴過多,沒有用處,但是提供了思路。

我就按照獲取的視頻json的配置信息url,來獲取,又遇到了難題,就是訪問此路徑需要認證,沒辦法,抓取數據包分析,然後模擬了guest的認證,最終可獲取了視頻配置,然後根據視頻url下載m3u8,然後下載視頻文件,重組成mp4格式的文件即可。

總結

本來在實現過程中發現Twitter的視頻請求方式的時候,我是打算算了,反正無關痛癢的項目,但是內心的小執着覺得不能這麼算了,雖然後來又遇到了認證問題,但還是有驚無險的完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章