Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Помогите сделать программу для защиты...


Автор: Vlad22 15.10.2006, 17:29
Здравствуйте!
 
Помогите, пожалуйста, создать программу для защиты гиперссылок на странице от спам-роботов и поисковиков при помощи JS.
Её суть в том, что она ищет в тексте гиперссылки на сторонние источники (http, https, ftp, mailto и т.д., а локальные, типа, <a href="../main.htm">Главная</a> - пропускает) и преобразует их в <a onclick="open№('№');" href="#"> (№ - номер ссылки), а сами URL-ы или mailto - переносятся в .js с одноимённым именем обрабатываемой страницы. После тега </TITLE> добавляется <script language=Javascript src=имя_обрабатываемой_страницы.js></SCRIPT>

Пример:

КОД СТРАНИЦЫ poiskoviki.htm ДО ОБРАБОТКИ:

<HTML><HEAD><TITLE>Поисковики</TITLE>

<META http-equiv=Content-Type content="text/html; charset=Windows-1251">
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY background=12.jpg>

<a href="http://www.yandex.ru">Яндекс</a><BR>
<a href="http://www.rambler.ru">Рамблер</a>

</BODY></HTML>

КОД СТРАНИЦЫ poiskoviki.htm ПОСЛЕ ОБРАБОТКИ:

<HTML><HEAD><TITLE>Поисковики</TITLE>

<script language=Javascript src=poiskoviki.js></SCRIPT>

<META http-equiv=Content-Type content="text/html; charset=Windows-1251">
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY background=12.jpg>

<a onclick="open1('1');" href="#">Яндекс</a><BR>
<a onclick="open2('2');" href="#">Рамблер</a>

</BODY></HTML>

СОДЕРЖАНИЕ ФАЙЛА poiskoviki.js:

function open1(name) { window.focus(); window.open('http://www.yandex.ru');}
function open2(name) { window.focus(); window.open('http://www.rambler.ru');}

Так обрабатываются все имеющиеся на странице ссылки на сторонние источники. При этом уничтожаются target=_blank, target=_self и т.д., но style=, alt= и др. остаются неизменными.
Помогите, пожалуйста, сделать такую программу и, чтобы она могла сразу обрабатывать много файлов.

Заранее спасибо!

Автор: Тутанхамец 16.10.2006, 13:13
Цитата

при помощи JS.


Так может тебе сюда: http://www.forum.vingrad.ru/index.php?showforum=10

Автор: Vlad22 16.10.2006, 15:58
Мне нужен не скрипт, а именно ПРОГРАММА.exe для конвертирования. Мне сказали, что на VB можно сделать.

Автор: mihanik 16.10.2006, 16:02
Т.е. взять файл *.htm и обработать его?
 smile 

Автор: Тутанхамец 16.10.2006, 17:36
В принципе сложного ничего нет. Просто разделываешь текст веб-страницы на кусочки с помощью функций Mid, Instr, Left, Right, Ucase, Lcase  и т.п. Подробнее про них смотри в MSDN. Геморойно однако будет предусмотреть все нюансы разметки типа двойных или одинарных кавычек или вообще их отсутствия. В общем, работа не на пять минут. Возьмись, делай, спрашивай, мы подскажем.

Но если ты работаешь с JS, то имхо проще написать js скрипт для WSH или сделать HTML-application. В js много средств для парсинга. 

Автор: cardinal 17.10.2006, 00:05
Vlad22, пользуйтесь тегами "код"!

Автор: mihanik 17.10.2006, 06:45
Цитата(Тутанхамец @  16.10.2006,  17:36 Найти цитируемый пост)
В js много средств для парсинга


Ну, в принципе, и в бейсике можно для парсинга использовать регулярные выражения...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)