Очистка JSON-запроса `ak` значения параметра - PullRequest
3 голосов
/ 27 мая 2019

В настоящее время я пытаюсь очистить встроенные пути URL-адресов m3u8 для самостоятельного изучения.

Пока мне удалось зафиксировать запрос, который дает ответ json с информацией m3u8.

Например, страница 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 в запросе, поэтому я предполагаю, что это значение не уникально связано с каждым сеансом, но я могу ошибаться.

Заранее спасибо!

1 Ответ

3 голосов
/ 28 мая 2019

Загадочный аргумент ak создается путем первого объединения space_id и domain в одну строку, например "2078710307_headlines.yahoo.co.jp".Затем он запускается через обфускатор, который находится в player.script.js.

. Обфускатор выглядит немного сложным и кажется, что его нарочно трудно понять.Ниже приведены снимки экрана отладчика из основной функции обфускатора и вызываемой им подпрограммы.

enter image description here

enter image description here

Хотя это немного утомительно, кажется невозможным преобразовать это в программу на Python, чтобы вы могли затем получить ak, запутав любые space_id и domain, которые вам нужны в youtube-dl.Удачи.

...