我目前正在尝试抓取嵌入视频的 m3u8 url 路径中的唯一值以供自学。网站上的每个嵌入视频共享相同的 url 路径(除了唯一值之外)。
例如,来自https://headlines.yahoo.co.jp/videonews/ann?a=20190526-00000026-ann-int页面,我可以通过检查器的网络选项卡找到m3u8路径:
https://gw-yvpub.c.yimg.jp/v1/hls/CFukHuaO2W13gxbJ/video.m3u8
这里的唯一值是CFukHuaO2W13gxbJ。但是,我一生都无法在页面源中的任何位置或检查器选项卡中的任何其他位置找到该值。是否可以在页面源或生成此 url 的位置找到此 url 链接?
附注:在请求调用 m3u8 文件之前,会对此 blob url 进行请求调用:
Blob :https://s.yimg.jp/f23ed5ca-7a95-4409-bf66-c26c577157d2
预先感谢您的指导!
最佳答案
m3u8 url 出现在对此 url 的请求中:
https://feapi-yvpub.yahooapis.jp/v1/content/1576087?appid=dj0zaiZpPVZMTVFJR0FwZWpiMyZzPWNvbnN1bWVyc2VjcmV0Jng9YjU-&output=json&space_id=2078710316&domain=headlines.yahoo.co.jp&ak=044ddff76151606c2d97ada9daa3ea45&device_type=1100&thumb_width=1204&thumb_height=676&thumb_priority=l&thumb_bd=0
该值来自您在此处给出的网址:
<script type="text/javascript">
YAHOO.JP.srch.dlink.onLoad(function(sl) {
sl.setParams({"serviceCode":"nws","appID":"dj0zaiZpPWlzQ3RiOHo1cGxBNSZzPWNvbnN1bWVyc2VjcmV0Jng9ODQ-","articleID":"20190526-00000026-ann","category":null,"mediaID":"ann","spaceID":2078710316,"linkCount":"5","launchAfterDocLoad":false});
});
</script>
例如,以及看到的内容 ID
<script type="text/javascript" class="yvpub-player" src="https://s.yimg.jp/images/yvpub/player/js/embed.js?contentid=1576087&width=602&height=338&propertyname=jp_news&spaceid=2078710316&repeat=0&recommend=0&autostart=1" data-composed="1"></script>
这个044ddff76151606c2d97ada9daa3ea45
我认为是一个访问 key 。不确定这是否是您可以跨请求重复使用的东西。也许还可以查看 API 文档(如果有)。有一点随机散列的味道(可能由长度决定) - 这可能会带来问题。
关于javascript - 抓取 m3u8 文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56314549/