28.02.2019, 20:29 | #1 |
Главный Кинооператор
Любитель
|
ИЗВЛЕЧЕНИЕ ВСЕХ ССЫЛОК ТЕКУЩЕЙ ВЕБ-СТРАНИЦЫ
Добрый день.
ВОПРОС ТАКОЙ: Хотели бы вы знать, к каким местоположениям в сети ведёт веб-страница, которую вы просматриваете в текущий момент? Если да, то данный скрипт - то, что вам нужно. Скрипт предназначен для Mac OS X с использованием браузера Safari. Просто скопируйте нижеследующий скрипт в Редактор Скриптов, откройте любую веб-страницу и запустите скрипт. Затем, можете сохранить его или в виде скомпилированного файла, или в виде приложения. Примечание: для работы скрипта в меню Разработка настроек Safari не забудьте разрешить JavaScript. Вот скрипт: set JS to "var URLs = []; function collectIfNew(url) { if( URLs.indexOf(url) == -1 ) { URLs.push(url); } } function processDoc(doc) { var l = undefined; try { // If the document is from a different protocol+domain+port than the main page (an iframe to a foreign location), this may throw a security exception. If so, note it and move on. l = doc.links; } catch(e) { console.warn(e) } if( l !== undefined ) { for( var i = 0; i < l.length; i++ ) { collectIfNew(l[i].href) } } } function processFrameset(f) { for( var i = 0; i < f.length; i++ ) { process(f[i]) } } function process(o) { if( o.frames !== undefined && o.frames.length != 0 ) { // It is a frameset processDoc(o.document); // Process its links. Normal framesets probably have no links, but iframe-based framesets probably have many links. processFrameset(o.frames); } else { // It is a document processDoc(o.document); } } process(window); URLs; " tell application "Safari" to set linkURLs to do JavaScript JS in front document Для забавы запустил этот скрипт на данной страничке форума. Вот что я получил (список ссылок, через запятые): {"http://kinozal.guru/", "https://forum.kinozal.guru/", "http://kinozal.guru/browse.php", "http://kinozal.guru/top.php", "http://kinozal.guru/personsearch.php", "http://kinozal.guru/novinki.php", "http://kinozal.guru/groupexlist.php", "http://kinozal.guru/radio.php", "https://forum.kinozal.guru/newthread.php?do=newthread&f=23#", "https://forum.kinozal.guru/index.php", "https://forum.kinozal.guru/forumdisplay.php?f=178", "https://forum.kinozal.guru/forumdisplay.php?f=23", "https://forum.kinozal.guru/newthread.php?do=newthread&f=23", "https://forum.kinozal.guru/private.php", "https://forum.kinozal.guru/usercp.php", "https://forum.kinozal.guru/faq.php", "https://forum.kinozal.guru/memberlist.php", "https://forum.kinozal.guru/calendar.php", "https://forum.kinozal.guru/search.php?do=getnew", "https://forum.kinozal.guru/search.php", "https://forum.kinozal.guru/newthread.php?do=newthread&f=23&nojs=1#usercptools ", "https://forum.kinozal.guru/login.php?do=logout&logouthash=f85260be9b3a152fead 33713522a5e34", "https://forum.kinozal.guru/search.php?do=getdaily", "https://forum.kinozal.guru/forumdisplay.php?do=markread", "https://forum.kinozal.guru/profile.php?do=editsignature", "https://forum.kinozal.guru/profile.php?do=editprofile", "https://forum.kinozal.guru/profile.php?do=editoptions", "https://forum.kinozal.guru/subscription.php", "https://forum.kinozal.guru/member.php?u=756674", "https://forum.kinozal.guru/newthread.php?do=newthread&f=23#top", "https://forum.kinozal.guru/misc.php?do=bbcode", "https://forum.kinozal.guru/misc.php?do=showsmilies", "https://forum.kinozal.guru/misc.php?do=bbcode#imgcode", "http://www.liveinternet.ru/click", "http://forum.kinozal.me/showthread.php?t=78697", "http://translit.ru/", "https://forum.kinozal.guru/misc.php?do=page&template=wiki"} Более интересное использование: можно находить ссылку на видеофайл в онлайн-кинотеатрах. |