Вернуться   Форум > Помощь Зрителям > Советы зрителям: вопросы и ответы
Регистрация Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2019, 20:29   #1
KniazidisR
Главный Кинооператор
Медаль пользователю. ЗОЛОТО Любитель
Регистрация: 13.08.2016
Адрес: Греция
Сообщения: 199
Репутация: 24
ИЗВЛЕЧЕНИЕ ВСЕХ ССЫЛОК ТЕКУЩЕЙ ВЕБ-СТРАНИЦЫ

Добрый день.

ВОПРОС ТАКОЙ: Хотели бы вы знать, к каким местоположениям в сети ведёт веб-страница, которую вы просматриваете в текущий момент?

Если да, то данный скрипт - то, что вам нужно. Скрипт предназначен для 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


Для забавы запустил этот скрипт на данной страничке форума.
Вот что я получил (список ссылок, через запятые):

{"//kinozal.guru/", "https://forum.kinozal.guru/", "//kinozal.guru/browse.php", "//kinozal.guru/top.php", "//kinozal.guru/personsearch.php", "//kinozal.guru/novinki.php", "//kinozal.guru/groupexlist.php", "//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", "//www.liveinternet.ru/click", "//forum.kinozal.me/showthread.php?t=78697", "//translit.ru/", "https://forum.kinozal.guru/misc.php?do=page&template=wiki"}

Более интересное использование: можно находить ссылку на видеофайл в онлайн-кинотеатрах.
  Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск



Часовой пояс GMT +3, время: 10:51.