Загрузить найденные с помощью поиска музыки 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: try
6: {7: cont = new XPCNativeWrapper(cont).wrappedJSObject;
8: }9: catch(e) {}
10: return cont;
11: }12: function getContentDoc()
13: {14: var cont = getBrowser().contentDocument;
15: try
16: {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.
Комментариев нет :
Отправить комментарий