Есть страница со списком аудиозаписей в ВКонтакте. Например, вот её кусочек:
К сожалению, ВК с середины декабря закрыл доступ к работе с аудио, а использовать обходные пути не хочется, ведь это мне и не совсем нужно.
В чём заключается вопрос:
Мне нужно получить список всех аудиозаписей с открытой страницы в виде audio62802565_456239214
.
Есть расширение vk.opt, которое может делать следующее:
Если нажать на "wiki", появится следующее окошко:
Только проблема в том, что аудиозаписей может быть и 20, и 100, и 10000, и вручную сделать это не получится. Нужно как-то это автоматизировать. В исходном коде есть все ссылки на аудио без слова "audio", но вычленить их оттуда, например, парсером, будет трудновато.
Прошу помощи :) Нужно будет впоследствии использовать множество аудиозаписей, но прикреплять их можно только имея ссылку на них. Буду рад помощи.
P.S. сам js не знаю, прикрепляю тег потому, что он используется в расширении, и, возможно есть способ запустить скриптик, и выгрузить все ссылки на аудио.
Прилагаю код автоскроллера:
var script = document.createElement('script');
script.src = "https://code.jquery.com/jquery-1.12.4.min.js";
document.querySelector('head').appendChild(script);
script.addEventListener('load', function() {
var position = 0;
var timeStep = 1000; // время между шагами скролла
var scrollStep = 100; // на сколько пикселей скроллить за раз
var w = $(window); // просто экономим буковки :)
var i = setInterval(function() {
w.scrollTop(position + scrollStep);
if (w.scrollTop() > position) {
position = w.scrollTop();
console.log(position);
} else {
clearInterval(i);
// доскроллили до конца, делаем, что нам надо
}
}, 1000);
});
div {
font-size: 70px;
width: 60px;
word-break: break-all;
background: #F00;
}
<div>Автоскроллер</div>
Тут придется "поиграть" параметрами timeStep
и scrollStep
, в зависимости от того, сколько у вас записей на странице и насколько быстро они грузятся.
Хотя, если делать уж совсем по уму, то надо перехватывать событие подгрузки порции данных и скроллить после него.
Просто вставьте код в консоль браузера на странице с аудиозаписями.
var audios = document.getElementsByClassName('audio_row');
Array.prototype.map.call(audios, function(audio) {
return audio.dataset.fullId;
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В зависимости от того, что вернет определенный метод в res, там может быть contact_name или нетЕсли нет, приходит ошибка "Cannot read property 'contact_name' of null"
Нужно передать данные в пост запросе, используя formDataContent-type application/x-www-form-urlencoded