抓取M3U8文件的路径

时间:2019-05-26 14:47:54

标签: javascript web-scraping blob hls m3u8

我目前正在尝试在嵌入式视频的m3u8网址路径中抓取唯一值,以进行自学。该网站上的每个嵌入式视频都共享相同的网址路径,唯一值除外。

例如,在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

谢谢您的指导!

1 个答案:

答案 0 :(得分:1)

对此请求发出的请求中包含m3u8个网址:

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&amp;width=602&amp;height=338&amp;propertyname=jp_news&amp;spaceid=2078710316&amp;repeat=0&amp;recommend=0&amp;autostart=1" data-composed="1"></script>

我认为此044ddff76151606c2d97ada9daa3ea45是访问密钥。不确定是否可以在请求中重复使用。如果有的话,也许还要看一下API文档。散发出一堆随机哈希(可能由长度决定)-可能会引起问题。