LINUX.ORG.RU

perl-скрипт для удаления скрипто-мусора из html-страниц

 , ,


1

1

добрый день

наборосал скрипт, в первом приближении работает, чистит, вроде как, то, что надо ... :о)

посмотрите, какие могут быть подводные камни или что нужно подзакрутить в «настройках» скрипта?

скрипт для локального использования, обработка сохраненных страниц и последующего просмотра/чтива

спасибо за пендили :о)

#!/usr/bin/perl

use strict;
use HTML::Laundry;

my $file    ;
my $laundry ;
my $html    ;
my $html_clr;

$file = shift or die "need a file $!\n";

open (FH,"< $file"    );
read (FH, $html, -s FH);
close FH;

$laundry = HTML::Laundry->new();

$laundry->add_acceptable_element(['img','h1','h2','style','stylesheet','href',
'link','html','head','body','meta','title','div','span');

#
# <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
#
$laundry->add_acceptable_attribute(['http-equiv','content','charset']);

$html_clr = $laundry->clean($html);

open (OH, '>', $file);
print OH $html_clr   ;
close OH;

exit;

p.s. в модуле есть возможность использовать base_url, для более тонкой настройки, руки не дошли дотошно потестировать...

★★★★★

Последнее исправление: sunjob (всего исправлений: 7)
Ответ на: комментарий от anonymous

т.е. это и есть тот самый пример «невалидного html кода»?

п.с. сейчас сохраню лоровскую страничку, гляну, на что обратить внимание ? (для меня главное - что бы читать было комфортно...)

sunjob ★★★★★
() автор топика
Ответ на: комментарий от sunjob

на что обратить внимание ?

Сразу не вспомню, но стоит обратить на meta с кодировкой.

anonymous
()
Ответ на: комментарий от anonymous

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

-rw-r--r-- 1 sun users 57690 2019-10-21 01:41 01.bk.htm
-rw-r--r-- 1 sun users 45125 2019-10-21 01:41 01.htm

...

по поводу tidy что-то типа этого?

<tidy type="text/javascript" src="script.js" language="javascript">
</tidy>
--> как и предполагалось - срезали (а че? так ему и надо, нечЁ под невинную овечку косить...)

...

meta с кодировкой

то было одно из первых требований ... все нормально

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
sunjob ★★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 2)
Ответ на: комментарий от sunjob

по поводу tidy что-то типа этого?

Гы-гы... tidy - тулза такая.

meta с кодировкой

Знать либо wget-ом не пользуешься, либо что-то поменялось.

anonymous
()
Ответ на: комментарий от anonymous

tidy - у нас этих тайдей ну просто завались ... вот и шлем кому попало... конкретнее надо, конкретнее.. :о)

wget-ом не пользуешься ... так так, развивайте вашу мысль?!

sunjob ★★★★★
() автор топика
Ответ на: комментарий от sunjob

у нас этих тайдей ну просто завались

tidy - HTML syntax checker and reformatter

развивайте вашу мысль?!

wget-ом страницу скачай, хотя мож всё и изменилось.

anonymous
()
Ответ на: комментарий от anonymous

What is Tidy?

Tidy is a console application for Mac OS X, Linux, Windows, UNIX, and more. It corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards.

libtidy is a C static and dynamic library that developers can integrate into their applications in order to bring all of Tidy’s power to your favorite tools. libtidy is used today in desktop applications, web servers, and more.

-->

не, ну это уже слишком... :о)

sunjob ★★★★★
() автор топика
Ответ на: комментарий от anonymous

ну как-бы... дядя фрейд тут не причем

эта утилитка на моей старенькой машинке (основной) собирается весьма странно, то вася, то не вася... (обычно софт перестает собираться после какой то версии... а тут все через раз, поэтому и отношение к этому «поделию» странное... если уж собирается оно так :o)

p.s. из всех релизов у меня нормально собрались лишь эти

5.0.0
5.1.8
5.1.24
5.1.25
5.7.28

ну а так... смотрит, выдает лог/отчет о найденных ошибках (и чЁ?!, как сказал бы пушкин)

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 9 column 1 - Error: <tidy> is not recognized!
line 9 column 1 - Warning: discarding unexpected <tidy>
line 10 column 1 - Warning: discarding unexpected </tidy>
line 12 column 1 - Warning: <link> missing '>' for end of tag
line 26 column 11 - Info: value for attribute "border" missing quote marks
line 26 column 11 - Info: value for attribute "width" missing quote marks
line 26 column 11 - Info: value for attribute "height" missing quote marks
line 29 column 11 - Info: value for attribute "border" missing quote marks
line 29 column 11 - Info: value for attribute "width" missing quote marks
line 29 column 11 - Info: value for attribute "height" missing quote marks
line 33 column 10 - Error: <noindex> is not recognized!
line 33 column 10 - Warning: discarding unexpected <noindex>
line 36 column 85 - Error: <noindex> is not recognized!
line 36 column 85 - Warning: discarding unexpected <noindex>
line 39 column 85 - Error: <noindex> is not recognized!
line 39 column 85 - Warning: discarding unexpected <noindex>
line 7 column 4 - Warning: missing </center>
line 26 column 11 - Warning: <img> lacks "alt" attribute
line 29 column 11 - Warning: <img> lacks "alt" attribute
line 7 column 1 - Warning: trimming empty <p>
line 20 column 1 - Warning: trimming empty <script>
line 24 column 1 - Warning: trimming empty <script>
line 7 column 4 - Warning: <center> element removed from HTML5
line 31 column 1 - Warning: <center> element removed from HTML5
line 36 column 1 - Warning: <center> element removed from HTML5
line 39 column 1 - Warning: <center> element removed from HTML5
Info: Document content looks like HTML5
Tidy found 17 warnings and 4 errors!

особенно вот это :о)

This document has errors that must be fixed before
using HTML Tidy to generate a tidied up version.

и это на 5ти строчном тестовом файле :о)

покупка компьютера поможет вам решить проблемы, которые у вас появятся с покупкой компьютера...

sunjob ★★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от sunjob
This document has errors that must be fixed before
using HTML Tidy to generate a tidied up version.

Ну ты же сам просил невалидную страницу. Теперь ты знаешь, что она у тебя есть. :)

PS: Я собстна tidy только для валидации и пользую.

anonymous
()
Ответ на: комментарий от anonymous

да не, мы, по моему, о разном

мне не понравилось то

- что до этого уже не понравилось (нестабильная сборка)

- подсунув простой тестовый файл я получаю очевидное сообщение, что де у вас тут немного не того (а это я и сам знаю, ну и че с того?!) и шо для того что-бы далее разбираться - надо сначало поправить все ошибки а ужо потом я буду смотреть вашу болячку...

ну т.е. определенно не наш случай...

наш случай - натравливаем на htm наш скрипт и получаем смотрибельно-безопасный файл (а то, что он до этого и, возможно сейчас содержит ошибки - мне, думаю и вам, в данном случае по барабану, нам что надо? мы это получили, а ковыряться в мозгах - это пусть мысли этим занимаются и музы :о)

надеюсь мымсль денес до состояния «ясного понимания» что мы делаем, что получаем, а что в данном случае является неоптимальным

ну а так, спасибо за пендили во всяких направлениях :о)

sunjob ★★★★★
() автор топика
Ответ на: комментарий от anonymous

емнип, jsp не допускает выдачи невалидного html

bvn13 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.