近期在使用python爬取ts類型的數據時,發現直接下載後的ts視頻無法正常播放,大膽的百度了下,發現是因為視頻加密的原因導致的。經過百度和谷歌後,接觸到了pycrypto這個模塊,這個模塊的話主要是對加密的視頻進行解密的。
由於該模塊在安裝時候比較不順暢,踩了不少坑。因深知踩坑的痛苦、懊悔和煩惱,故特意寫一篇文章來記錄安裝該模塊的方法,防止後來人不斷跳坑。
pip install pycryptodome
如果運行上述命令沒有報錯的話,那麼恭喜你順利安裝成功,可以直接進入第三環節。
運行pip命令後,發現直接顯示報錯信息,報錯信息如下:
經過一番嘗試後,解決方案如下:
下載安裝visual studio,並安裝c++ 14.0的組件,如下圖。
如果你再次運行,提示gcc報錯的話,恭喜你!中了一個大獎!這個是由於anaconda中配置文件的原因。在這裡分享下,解決該問題的方案。
from Crypto.Cipher import AES
# 對應的模塊
from Crypto.Util.Padding import pad
#創建解析器
#注意key需要為二進制形式
cryptor = AES.new(key, AES.MODE_CBC, iv)
# 變為16的倍數,部分場景可能需要
#encrypted_data = pad(string, 16)
#data為需要進行解密的二進制字符串
result = cryptor.decrypt(data)