Загрузить найденные с помощью поиска музыки vkontakte музыкальные файлы средствами обычного загрузчика оказалось не так просто. Например взять плагин для Firefox DonloadThemAll, он просто ищет на странице ссылки и предлагает закачать файлы, находящиеся именно по тем ссылкам. Но в результатах поиска музыки, адреса аудиофайлов находятся не в ссылках, а в полях hidden, например так
<input type="hidden" id="audio_info65616706_106246809_4" value="http://cs4246.vkontakte.ru/u14371044/audio/65a4ce75cfe4.mp3,189" />
При этом каждый из результатов поиска находится в таблице и в соседней ячейке можно найти название и имя исполнителя.
Задача решается с помощью плагина для Firefox Custom buttons. Просто надо добавить кнопку на панель и в редакторе кода кнопки ввести следующий текст:
1: /*CODE*/2: function getContentWin()3: {4: var cont = getBrowser().contentWindow;5: try6: {7: cont = new XPCNativeWrapper(cont).wrappedJSObject;8: }9: catch(e) {}10: return cont;11: }12: function getContentDoc()13: {14: var cont = getBrowser().contentDocument;15: try16: {17: cont = new XPCNativeWrapper(cont).wrappedJSObject;18: }19: catch(e) {}20: return cont;21: }22: var _window = getContentWin();23: var _document = getContentDoc();24:25: var newwin = _window.open("about:blank");26: newwin.onload = function()27: {28: var inputs = _window.document.getElementsByTagName("input");29: for(var i = 0; i < inputs.length; i++)30: {31: var input = inputs.item(i);32: if(input.type == "hidden" && input.id.indexOf("audio_info") == 0)33: {34: var row = input.parentNode.parentNode;35:36: var songLinks = row.getElementsByTagName("a");37: var autor = songLinks[1].innerHTML;39: var song = songLinks[1].parentNode.nextSibling.nextSibling.innerHTML;40: var link = newwin.document.createElement("a");41: link.href = input.value.split(",")[0];42: link.innerHTML = autor + " - " + song;43: newwin.document.body.appendChild(link);44: newwin.document.body.appendChild(newwin.document.createElement("br"));45: }46: }47:48: }
Этот код открывает новую страницу в новой вкладке, извлекает адреса музыкальных файлов, исполнителей и названия треков, после чего формирует список ссылок на эти адреса и вставляет их во вновь созданную страницу. После этого, когда у нас есть страница со ссылками, можно закачать с помощью любого загрузчика, интегрированного в браузер, включая DonloadThemAll.
Комментариев нет :
Отправить комментарий