万恶之源
爬A站遇m3u8:
url = ‘https://www.acfun.cn/v/ac33003549’
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000000
print(r.content)
b'#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:8\n#EXT-X-MEDIA-SEQUENCE:0\n#EXTINF:5.000000,
\nc185ef40f16fac2e-c4c2fc4890da062a1d1e0f2eb10f0634-hls_1080p_2.00000.ts?pkey=ABAx66SWVKO55dN4yezHNg7_VXHXXEpcg8KJsx_Y_xcaM8y-Ol798MZde_UjDtsAT3lf0aQyU1fLzlvBuqasNSiitV55QVEAqyoB_RDUcqrSjVQeQO1NKfmU5bepPaARmhL7GqZBkeQvgMbQB4f44S34ir3WI-RBpuWiwDM71Bqwz3_uSKIb2b0vf7L7uZQCuJgz3fTcD89p3KYTr-t8P6z7tiRRwoR1GvwH8rlfNcyDmg&safety_id=AALViOtiVRC_C1Q_BGr23fJa\n
#EXTINF:5.000000,\nc185ef40f16fac2e-c4c2fc4890da062a1d1e0f2eb10f0634-hls_1080p_2.00001.ts?pkey=ABAx66SWVKO55dN4yezHNg7_VXHXXEpcg8KJsx_Y_xcaM8y-Ol798MZde_UjDtsAT3lf0aQyU1fLzlvBuqasNSiitV55QVEAqyoB_RDUcqrSjVQeQO1NKfmU5bepPaARmhL7GqZBkeQvgMbQB4f44S34ir3WI-RBpuWiwDM71Bqwz3_uSKIb2b0vf7L7uZQCuJgz3fTcD89p3KYTr-t8P6z7tiRRwoR1GvwH8rlfNcyDmg&safety_id=AALViOtiVRC_C1Q_BGr23fJa\n#EXTINF:5.000000,
m3u8
网页中的视频被分为多个ts流,m3u8文件记录了每一个ts流的地址。
解决办法
从m3u8中提取出ts文件地址:
c185ef40f16fac2e-c4c2fc4890da062a1d1e0f2eb10f0634-hls_1080p_2.00000.ts?pkey=ABAx66SWVKO55dN4yezHNg7_VXHXXEpcg8KJsx_Y_xcaM8y-Ol798MZde_UjDtsAT3lf0aQyU1fLzlvBuqasNSiitV55QVEAqyoB_RDUcqrSjVQeQO1NKfmU5bepPaARmhL7GqZBkeQvgMbQB4f44S34ir3WI-RBpuWiwDM71Bqwz3_uSKIb2b0vf7L7uZQCuJgz3fTcD89p3KYTr-t8P6z7tiRRwoR1GvwH8rlfNcyDmg&safety_id=AALViOtiVRC_C1Q_BGr23fJa
给提取的相对地址添加头部()
https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/
最终t地址:
由
https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/c185ef40f16fac2e-c4c2fc4890da062a1d1e0f2eb10f0634-hls_1080p_2.m3u8?pkey=ABAx66SWVKO55dN4yezHNg7_VXHXXEpcg8KJsx_Y_xcaM8y-Ol798MZde_UjDtsAT3lf0aQyU1fLzlvBuqasNSiitV55QVEAqyoB_RDUcqrSjVQeQO1NKfmU5bepPaARmhL7GqZBkeQvgMbQB4f44S34ir3WI-RBpuWiwDM71Bqwz3_uSKIb2b0vf7L7uZQCuJgz3fTcD89p3KYTr-t8P6z7tiRRwoR1GvwH8rlfNcyDmg&safety_id=AALViOtiVRC_C1Q_BGr23fJa
变成
https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/c185ef40f16fac2e-c4c2fc4890da062a1d1e0f2eb10f0634-hls_1080p_2.00000.ts?pkey=ABAx66SWVKO55dN4yezHNg7_VXHXXEpcg8KJsx_Y_xcaM8y-Ol798MZde_UjDtsAT3lf0aQyU1fLzlvBuqasNSiitV55QVEAqyoB_RDUcqrSjVQeQO1NKfmU5bepPaARmhL7GqZBkeQvgMbQB4f44S34ir3WI-RBpuWiwDM71Bqwz3_uSKIb2b0vf7L7uZQCuJgz3fTcD89p3KYTr-t8P6z7tiRRwoR1GvwH8rlfNcyDmg&safety_id=AALViOtiVRC_C1Q_BGr23fJa
ts流可以直接访问了(没有EXT-X-KEY不然还需要解码)