LINUX.ORG.RU

Как сохранить HTML страницу с другим стилем


0

1

Страница большая (перевёрстку не предлагать) и перенасыщенама стилевым мусором который только мешает просмотру и увеличивает вес в разы. Но если в опере включить стиль пользователя, страница преображается в то что нужно. Как её сохранить в таком виде? Может для этого существует какой-то плагин.

★★★★★
Ответ на: комментарий от dumal

При сохранении страницы получается почти то что было до использования readability. Это совсем не то что надо. Мне нужно сохранить страницу на диск с другим стилем. То есть использовать оперу в качестве html редактора.

Napilnik ★★★★★
() автор топика

Раз не получается изяшно, удалил из текста все style= Стили сдохли, таблицы целы, осталось прибить заново, более изящно все style=" всякая хрень"

Napilnik ★★★★★
() автор топика

Кажется, единственным выходом было распечатать страницу. Хотя, возможно, экспорт в какой-нибудь формат тоже поможет.

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

Перл конечно самоочевиден, но если его не знаешь, а писать тегоубивалку с нуля лень, то поможет ООО. Ломать код его хобби, и конечно непонятными обломками тегов он заинтересуется.

Вот плохо что в текстовых редакторах типа kwrite нельзя заменять фразы по абстрактной маске. Как бы это расширило возможности. Емакс не предлагать))))

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

Napilnik, изучайте regexp, в моём пред. посте упор был на него, а не на perl!
Ctrl+R в любимом вами KWrite->Ставите отметку [X]Regular expression->Вписываете без скобок [.*style\=\".*\"] {обратный слеш для экранирования}-> и жмёте Replace!!!
Если не сработает, ткните в том же окне кнопку Edit и посмотрите что сие регулярное выражение находит.

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

Сорри, вот так, без точки звёздочка в начале:
style\=\".*\"
Только что проверил на странице Wikipedii об regexp: en.wikipedia.org/wiki/Regular_expression

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

> Napilnik, изучайте regexp, в моём пред. посте упор был на него, а не на perl!

Интерполяция дала сбой, т.к. regexp слышу наверно впервые.

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

Сорри, вот так, без точки звёздочка в начале:

style\=\".*\" Только что проверил на странице Wikipedii об regexp: en.wikipedia.org/wiki/Regular_expression

Чёто оно лишнее отпилило вместе с мусором, ссылки в оглавлении превратились в текст. И наверно поздно, пересилив лень накропал работоспособную стрипалку для html. Удаляет один тег, но при желании можно добавить хоть десять. Код не для выставки, для личного пользования)))

{$GOTO+}

//уничтожает тег style="лажа всякая" в html файлах
CONST
PREDEL=20000000;


VAR
F7: FILE;
MASSIV1:ARRAY[0..PREDEL] OF BYTE;
MASSIV2:ARRAY[0..PREDEL] OF BYTE;
STROKA1: STRING;
DlinaFaila, Q2, W2, E2, R2: INT64;
Q3: BYTE;
LABEL 1,2,3;


BEGIN
STROKA1:='style="';
ASSIGN(F7,ParamStr(1));
RESET(F7,1);
DlinaFaila:=FILESIZE(F7);
IF DlinaFaila > PREDEL THEN BEGIN
                            WRITELN('FAIL NE POMESTILSJA V MASSIV');
                            DlinaFaila:=PREDEL;
                            END;
BLOCKREAD(F7,MASSIV1,DlinaFaila);
CLOSE(F7);

Q2:=0;
W2:=-1;
1:
IF MASSIV1[Q2]=ORD(STROKA1[1]) THEN BEGIN
                                    FOR Q3:=2 TO ORD(STROKA1[0]) DO IF MASSIV1[Q2+Q3-1]<>ORD(STROKA1[Q3]) THEN GOTO 2;
                                    E2:=ORD(STROKA1[0]);
                                    R2:=0;
                                    WHILE R2<300 DO
                                    BEGIN
                                    IF MASSIV1[Q2+R2+E2]=34 THEN BEGIN
                                                                 Q2:=Q2+R2+E2;
                                                                 GOTO 3;
                                                                 END;
                                    INC(R2);
                                    END;

                                    END;

2:
INC(W2);
MASSIV2[W2]:=MASSIV1[Q2];
3:
INC(Q2);
IF Q2<=DlinaFaila THEN GOTO 1;

ASSIGN(F7,'1.html');
REWRITE(F7,1);
DlinaFaila:=FILESIZE(F7);
BLOCKWRITE(F7,MASSIV2,W2);
CLOSE(F7);

END.
С регулярными выражениями что-то я не уверен что они лучше маски с программируемым значением символов. Например натыкать на кнопки чтобы @ значил английские буквы и цифры в количестве 1-15, # маркер конца стстроки, одну штуку и так далее. Плюс ко всему каждый символ по желанию добавлял к рейтингу, по достижении которым критического знзначения фраза считалась бы найденной. Однажды понадобилось удалить в субтитре регулярное значение имеющее в себе маркер конца строки. В редакторе сделать такое не удалось.

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

Napilnik, лучше! Я не знаю более гибкого инструмента для обработки строк в Linux чем регулярные выражения!
Взгляните на snapshot andrux0id.mksat.net/files/snapshot1.png
Тут Kde 3.5.10 KWrite 4.5.10 Думаю что у вас поновее.
Regexp style\=\".*\" находит попадение style=" затем .* -это любое количество любых символов, затем снова " и поскольку второе поле пустое удаляет это к /dev/null матери
Конец строки: $
Если надо доллар то \$
Можно по hex значениям искать символы.
Скиньте страницу на ящик andruxoid@gmail.com, я вам обратно страницу после одного прохода, интересно что там не срослось.
PS: мне предлагали работу в хостинговой конторе в Linux-отдел, занимающийся переносом сайтов с чужих платформ на платформу хостера. Требования: Regular expression, awk, sed, grep, продвинутый shell.зп от 300$. Как вы считаете на таких программах как ваша далеко уедешь?
Сам люблю изобретать велосипед и жутко радуюсь когда узнаю, что уже есть изобретённый. Иногда из гордости за себя пользуюсь своим.

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

>Тут Kde 3.5.10 KWrite 4.5.10 Думаю что у вас поновее.

Сейчас в калькуляторе, здесь 4.4.5, но есть и рабочие третьи кеды.

Regexp style\=\".*\" находит попадение style=" затем .* -это любое количество любых символов, затем снова " и поскольку второе поле пустое удаляет это к /dev/null матери

Конец строки: $ Если надо доллар то \$

-это любое количество любых символов

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

Скиньте страницу на ящик andruxoid@gmail.com, я вам обратно страницу после одного прохода, интересно что там не срослось.

http://letitbit.net/download/11253.186c0dc2aa4036e6de7526b795c4/freepascal_ht... Тот файл что 4 метра. Получен конвертацией программой ABBYY.PDF.Transformer.3.0.100.399

интересно что там не срослось.

Могу сразу сказать - оно удалило больше символов чем было сказано в техзадании.

Как вы считаете на таких программах как ваша далеко уедешь?

Так я и не профессионал. Спектрум бейсик 48, деревянные игрушки и всё такое))))

adriano32

На пасквилянтском форуме не пересекались 1-2 года назат?

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

Неа, а что ник такой видели? На паскале то я ваял в классе восьмом-девятом на кружке где знакомился с компами, потом на втором курсе ВУЗа читал его же в своей школе 11-му классу. На других форумах не отмечался до октября 2010 пока инет дома не заимел.
Спотыкается regexp на выражении типа
style=" padding:0.00pt 327.36pt 0.00pt 75.36pt; text-align:left;«><span class=font5 style=» line-height:18.00pt; letter-spacing:0.50pt;"
потому что берёт последним совпадением с кавычкой ту что последняя а не та что надо, то есть первая попавшаяся
правим на style\=\«[^»]*\" что значит искать сперва style=", потом символ не равный кавычке двойной (что обеспечено [^«]) любое количество раз (звезда), и потом кавычка »
а поправив на \ *style\=\«[^»]*\" что значит искать сперва ноль или более пробелов (за это в ответе \ * - экранированый пробел +звезда-ноль и больше раз), потом как выше, получим ещё и удалённые пробелы перед style" Вот так то. Ядерно, но зато сразу 33 удовольствия. Если не получиться воспроизвести, скину ссылку на файл, который получился у меня.
У меня эта же книга в pdf-е лежит, я даже сначала удивился вроде качал tar.gz, а обнаружил pdf, а потом пролистнул в крусадере вниз :)

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

Кстати, познакомтесь с Bluefish.
Может пригодится, когда доверстывать будете.
Если проникнетесь идей regexp, пишите ещё:)
Закончите обработку, выложите в паблик куда-то, я преподу своему по программированию на кафедре покажу, хочу его с Борланд на Лазарус пересадить, вот и получиться выдать, может быть, этот чудный учебник по freepascal и в оригинале pdf, и для экономной печати - в html.

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

>Неа, а что ник такой видели?

Ну да, почти такой.

правим на style\=\«[^»]*\" что значит искать сперва style=", потом символ не равный кавычке двойной (что обеспечено [^«]) любое количество раз (звезда), и потом кавычка »

Вот вот, огромными усилиями удалось забить маску в глупую программу. Но ведь в теории могут быть и битые тэги после которых следует большой кусок текста с кавычкой в конце. Звёздочке-то всё равно сколько мегабайт «тэга» грохнуть. Сейчас разгадываю научным тыком, теперь это называется реверс инжинирингом, какой regexp из портежей поставить. Или всё-таки искать исходники более «крутой» версии. Раз штучка модная, надо изучить, но тут как с маздаем, уже на стадии ознакомления по письменным источникам, вылезают вещи которые в программе сделаны не по уму или слишком ускоспециализированно. Хотя может версии и не одинаковые. Настраиваемый велосипед с оконным интерфейсом был бы лучше) Но ведь в жизни кривые альфаверсии часто рулят. Просто потому что раньше захватывают все ресурсы, да и кривость кому-то нравится больше.

У меня эта же книга в pdf-е лежит

Естественно, мимо такой мясной новости на главной странице пройти трудно. А там и ссылка на эту книгу.

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

Кстати, познакомтесь с Bluefish

Уже знакомы, в дистрибутивах она есть. Когда-то был небольшой маздайный хтмл редактор со встроенным просмотром как в броузере, тут этого нет( Похоже в линуксе только ООО такими делами занимается, но он больше ориентирован на создание своего а не на правку чужого. Поправь пару символов, получи прирост веса на ~20% или пересохраняй через ФФ чтобы было съедобно в опере. С таким софтом с простого текстового редактора слезть трудно.

Закончите обработку, выложите в паблик куда-то

В принципе некоторые картинки заменю на более качественные, их быстро пролистать. Ещё есть баги с лишними линейками в таблицах, в принципе некритичные. Лишние пробелы в словах и буквы вместо корябулы заменяющей во writeln('текст с пробелами'); пробелы. Ну нету в CP1251 такого символа, вот и определилась хрень. Баги с пробелами и ошибками в словах отловить сложнее, так как это требует прочтения всего текста. Что-то останется, что-то поправится уже когда-нибудь потом. Ещё, думаю, могут быть баги с <= и >= написанными одним символом в формулах которые я мог пропустить и оформить как текст а не как картинки. В общем приблизительно такой список багов, pdf версию для справок под рукой всё равно иметь желательно.

Первоначально как раз и планировал выложить ссылку на онлайн версию на этой странице. Вверху книги приделать кнопку «вернуться на главную», внизу счётчик посещений, проиндексировать на гуглояндексе и смотреть сколько народа «примагнитится» случайным образом)))) На днях думаю залить. Теперь думаю сделать ещё одну, более «правильную», ссылку, но попозже. Эх, заменить бы шрифт по умолчанию на какой-нибудь freesans но лучше наверно не предлагать то, чего у многих нет.

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

>Когда-то был небольшой маздайный хтмл редактор со встроенным просмотром как в броузере, тут этого нет( Похоже в линуксе только ООО такими делами занимается

Quanta Plus

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

>Quanta Plus

Какой-то неуловимый мистический редактор. В портежах нет, откуда скачать неясно, офсайт висит. Скачал исходники kdewebdev-4.4.5, вроде бы оно. Но не нашёл после установки никакой quanta, только несколько утилит. Её точно портировали в 4 кеды?

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

Я думаю, что если вы возьмёте почитать любую книжку по регулярным выражениям, например O'Reilly и просмотрите примеры, то вдохновлённый, сможете найти решение и для битых тегов и для чего угодно. Я ж показал то что первым пришло в голову. Регулярными выражениями такие конструкции можно наворачивать, мама не горюй!

Napilnik:

какой regexp из портежей поставить.


Вот это не понял:) Regexp это не утилита, это средство поиска шаблонов, поддерживаемая шеллами, разными утилитами (grep, sed) и редакторами типа Vim и круче.

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

> думаю, что если вы возьмёте почитать любую книжку по регулярным выражениям, например O'Reilly и просмотрите примеры, то вдохновлённый, сможете найти решение и для битых тегов и для чего угодно.

Возможно, но если бы существующие ЯП всех устраивали, то новые регулярно не появлялись. Я же имел в виду то, что в теории можно написать оконную утилиту (а ещё лучше, расширить фичи редактора типа kwrite) для которой хватит не книжки а хелпа, на три-четыре кило максимум, чтобы натыкать кнопками свойства нескольких символов и сложить из них маску без выворачивающего мозг синтаксиса. Просто один и тотже символ в разных случаях будет иметь разные значения и не нужно будет почти ничего зубрить и бояться ошибиться на несколько порядков. Тот код что я слепил, и ещё множество подобных, процентов на 90, можно без особых усилий натыкать мышкой по кнопкам. Если однажды кто-то превозможет лень и воплотит теорию в код.

Любая книжка не подойдёт, такое у них свойство. И притом, почти у всех есть масса других своих дел. Для прочтения и усвоения всех книг не хватит жизни и ресурсов черепушки.

Регулярными выражениями такие конструкции можно наворачивать, мама не горюй!

Это превратится в ещё один язык программирования, хотя изначально наверно было призвано его заменить. Кто убъёт дракона, сам станет драконом - тот случай.

редакторами типа Vim и круче.

Не надо емакса!!!!!!!!!!

Вот это не понял:) Regexp это не утилита, это средство поиска шаблонов, поддерживаемая шеллами, разными утилитами (grep, sed)

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

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

Это в KWrite, когда нажимаешь Заменить, в диалоге замены тестка есть кнопка Edit. Из неё и вылазит то окошко (скрин на который я дал линк andrux0id.mksat.net/files/snapshot1.png) с конструктором этих выражений, в котором есть то, что ты написал в своём последнем посте «натыкать кнопками свойства нескольких символов и сложить из них маску»

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

>Это в KWrite, когда нажимаешь Заменить

Ясно, в четвёртых кедах это окно испохабили и прицепили к основному. Тогда этой штукой пользовался. Сейчас такого нет http://s015.radikal.ru/i332/1101/1d/6b8fe2b41ab0.png

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

Ну да, какже, кеды писаны на плюсах их фанатами а вероятность того что эти люди захотят сделать человеческий а не марсианский синтаксис равняется статистической погрешности. То есть исчезающе мала, ты же писал на марсианском ;)

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

Не зря я на третьих кедах ) Когда та тестил мандриву с 4.0, но в угоду производительности переставил тогда 3-тьи. А параметры кнопка куда ведёт?

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

>Не зря я на третьих кедах )

Дедукция подсказывает что функции не умещающееся в широкое основное окно просто выбросили а разрешить пользователям пользоваться кучей окошек им было западло. Но в kohqueror можно настроить переименование в отдельном окне, хоть эту радость не отняли.

А параметры кнопка куда ведёт?

В фигню неиспользуемую, но в окно помещается, поэтому есть))) http://s013.radikal.ru/i323/1101/aa/048e11d31770.png

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