抓取 json 请求 `ak` 参数值
Scraping a json request `ak` parameter value
我目前正在尝试抓取嵌入式 m3u8 url 路径以供自学。
到目前为止,我设法确定请求会产生一个带有 m3u8 信息的 json 响应。
例如,https://headlines.yahoo.co.jp/videonews/ann?a=20190527-00000051-ann-soci 页面会发出以下请求:
https://feapi-yvpub.yahooapis.jp/v1/content/1579522?appid=dj0zaiZpPVZMTVFJR0FwZWpiMyZzPWNvbnN1bWVyc2VjcmV0Jng9YjU-&output=json&space_id=2078710307&domain=headlines.yahoo.co.jp&ak=e25b66ca8b37b7a383feecf4e084fe95&device_type=1100&thumb_width=1204&thumb_height=676&thumb_priority=l&thumb_bd=0
为了请求成功,需要contentid
(1579522)、appid
、space_id
、device_type
、ak
参数.我设法抓取了 id 和 device_type 值,但不知道从哪里获取 ak
值,我猜它代表访问密钥。关于如何获得此值的任何想法?
旁注:我通过不同的浏览器访问了该页面,它们在请求中都产生了相同的 ak
参数值,所以我猜该值并不是唯一地链接到每个会话,但我可以错了。
提前致谢!
神秘论证 ak
是通过首先将 space_id
和 domain
组合成一个字符串(例如 "2078710307_headlines.yahoo.co.jp"
)而创建的。然后通过位于 player.script.js
.
的混淆器 运行
混淆器看起来有点复杂,似乎是故意让它难以理解。下面是混淆器主函数的调试器屏幕截图,以及它调用的子例程。
虽然有点令人生畏,但将其转换为 Python 程序似乎并非不可能,这样您就可以通过混淆任何 space_id
和 [=12] 来获得 ak
=] 你需要 youtube-dl。祝你好运。
我目前正在尝试抓取嵌入式 m3u8 url 路径以供自学。
到目前为止,我设法确定请求会产生一个带有 m3u8 信息的 json 响应。
例如,https://headlines.yahoo.co.jp/videonews/ann?a=20190527-00000051-ann-soci 页面会发出以下请求:
https://feapi-yvpub.yahooapis.jp/v1/content/1579522?appid=dj0zaiZpPVZMTVFJR0FwZWpiMyZzPWNvbnN1bWVyc2VjcmV0Jng9YjU-&output=json&space_id=2078710307&domain=headlines.yahoo.co.jp&ak=e25b66ca8b37b7a383feecf4e084fe95&device_type=1100&thumb_width=1204&thumb_height=676&thumb_priority=l&thumb_bd=0
为了请求成功,需要contentid
(1579522)、appid
、space_id
、device_type
、ak
参数.我设法抓取了 id 和 device_type 值,但不知道从哪里获取 ak
值,我猜它代表访问密钥。关于如何获得此值的任何想法?
旁注:我通过不同的浏览器访问了该页面,它们在请求中都产生了相同的 ak
参数值,所以我猜该值并不是唯一地链接到每个会话,但我可以错了。
提前致谢!
神秘论证 ak
是通过首先将 space_id
和 domain
组合成一个字符串(例如 "2078710307_headlines.yahoo.co.jp"
)而创建的。然后通过位于 player.script.js
.
混淆器看起来有点复杂,似乎是故意让它难以理解。下面是混淆器主函数的调试器屏幕截图,以及它调用的子例程。
虽然有点令人生畏,但将其转换为 Python 程序似乎并非不可能,这样您就可以通过混淆任何 space_id
和 [=12] 来获得 ak
=] 你需要 youtube-dl。祝你好运。