Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Проверка html файлов на битые ссылки


Автор: defunct 15.8.2008, 08:09
Привет!
нужна Open Source утилита для проверки html файлов на битые ссылки, запускающаяся из командной строки (не графическая), написанная на Java. 

Подскажите, пожалуйста, где такую можно взять.

Автор: ecologist 15.8.2008, 10:25
А что значит "битые ссылки" ? Если имеется в виду, что они не работают - то думаю, что такую утилиту можно написать достаточно быстро.

Код

URL url = new URL(<стрjка с URL>);
HttpURLConnection con = new HttpURLConnection(url);
con.getRequestMethod("GET");
con.connect();


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

Автор: defunct 18.8.2008, 13:31
Не совсем так: нужно парсить HTML файл, найти все ссылки например в тэге img и проверить наличие соответствующих файлов.
Аналогично для ссылок вида <a href
Файлов много, поэтому вручную делать не хотелось бы.

Автор: Ortega 18.8.2008, 15:35
Так никто тебе не предлагает руками перебрать файлы. 

ecologist предложил руками написать программку, которая будет перебирать файлы. А кусок кода, который он привел, отвечает на вопрос "является ли заданный урл рабочим?"

Автор: defunct 18.8.2008, 20:13
как такую утилиту написать я знаю. было интересно, может кто-то это уже за меня сделал. smile 

Автор: AxNe0 19.8.2008, 13:44
ИМХО, искать дольше придется, чем самому написать....

Автор: Platon 19.8.2008, 13:55
Цитата(AxNe0 @  19.8.2008,  14:44 Найти цитируемый пост)
ИМХО, искать дольше придется, чем самому написать.... 

И это правда. 
1. Достаточно знать ,как работать с регулярными выражениями, найти шаблон, который определяет ссылки.
2. Найти функцию, которая правильно склеивает относительные пути
3. экранировать/деэкранировать, а может даже и не надо, извлеченные ссылки

Всё.

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