Author Topic: Как убрать все тэги из html-файла ?  (Read 4317 times)

0 Members and 1 Guest are viewing this topic.

Offline vukor

  • Jr. Member
  • **
  • Posts: 99
  • Karma: +0/-0
    • http://vukor.tomsk.ru
Как убрать все тэги из html-файла ?
« on: February 01, 2006, 17:34:46 »
Приветствую, снова.

Появилась тут проблема. Есть у меня html-файл. Мне нужно получить некоторое количество файлов в windows-кодировке, которые содержат в себе фрагменты html-файла, т.е. кое-какую инфу и без тэгов, и в определенном формате.

Так вот. Посоветуйте инструмент для реализации под unix. Какие-нибудь текстовые анализаторы, конверторы, и т.д. Вообщем, куда копать.

P.S. Заранее всех благодарю

Offline demiurg

  • Hero Member
  • *****
  • Posts: 1014
  • Karma: +0/-0
    • http://larin.tomsk.ru
Как убрать все тэги из html-файла ?
« Reply #1 on: February 01, 2006, 17:56:08 »
Quote
Приветствую, снова.

Появилась тут проблема. Есть у меня html-файл. Мне нужно получить некоторое количество файлов в windows-кодировке, которые содержат в себе фрагменты html-файла, т.е. кое-какую инфу и без тэгов, и в определенном формате.

Так вот. Посоветуйте инструмент для реализации под unix. Какие-нибудь текстовые анализаторы, конверторы, и т.д. Вообщем, куда копать.

P.S. Заранее всех благодарю
[snapback]7212[/snapback]
Основные инструменты sed, perl.
В книге Perl Cookbook (Перл. Сборник рецептов). Во втором издании рецепт 20.6 "Удаление тегов HTML" посвящен этому вопросу и 20.5 Преобразование HTML в ASCII.

Нужно установить модуль HTML::FormatText.
use HTML::FormatText 2;
$plain_text = HTML::FormatText->format_string($html_text);

Для простейшего html кода работает такая конструкция
($plain_text = $html_text) =~ s/<[^>]*//gs;

Если установлен lynx, то можно делать так
lynx -dump filename.html > filename.txt
ну и полученный текстовый файл "уродовать" в соответствии со своими целями.

Offline vukor

  • Jr. Member
  • **
  • Posts: 99
  • Karma: +0/-0
    • http://vukor.tomsk.ru
Как убрать все тэги из html-файла ?
« Reply #2 on: February 01, 2006, 18:07:28 »
Quote
Основные инструменты sed, perl.
В книге Perl Cookbook (Перл. Сборник рецептов). Во втором издании рецепт 20.6 "Удаление тегов HTML" посвящен этому вопросу и 20.5 Преобразование HTML в ASCII.

Нужно установить модуль HTML::FormatText.
use HTML::FormatText 2;
$plain_text = HTML::FormatText->format_string($html_text);

Для простейшего html кода работает такая конструкция
($plain_text = $html_text) =~ s/<[^>]*//gs;

Если установлен lynx, то можно делать так
lynx -dump filename.html > filename.txt
ну и полученный текстовый файл "уродовать" в соответствии со своими целями.
[snapback]7213[/snapback]

Cпасибо, поразбираюсь.

Offline vukor

  • Jr. Member
  • **
  • Posts: 99
  • Karma: +0/-0
    • http://vukor.tomsk.ru
Как убрать все тэги из html-файла ?
« Reply #3 on: February 01, 2006, 19:32:08 »
Сделал

#lynx -dump file.htm > file.txt

Вот фрагмент file.txt:

 E`aaaaeu:iiaa oaaeaaaea:aaieaa - yoi ei`ioid-o e e`a-:aanoai, eioid-uaa aoa:oo A`a`i ii a:oo/aa.          
                      D-`ac,iiiad-`ac,iuaa e`ai`aeu oa:iaeaaoaid-yo n`a`iuaa ec,une`aiiuaa od-aaaia`aiey niad-aa`iaaiiie        


Никакой кодировкой прочитать не могу  :(

file.htm в кодировке CP1251.

В мане по lynx насчет кодировки ничего вразумительного не нашел.

Что я не так сделал ?

Offline demiurg

  • Hero Member
  • *****
  • Posts: 1014
  • Karma: +0/-0
    • http://larin.tomsk.ru
Как убрать все тэги из html-файла ?
« Reply #4 on: February 01, 2006, 19:42:36 »
Quote
Сделал

#lynx -dump file.htm > file.txt

Вот фрагмент file.txt:

 E`aaaaeu:iiaa oaaeaaaea:aaieaa - yoi ei`ioid-o e e`a-:aanoai, eioid-uaa aoa:oo A`a`i ii a:oo/aa.           
                      D-`ac,iiiad-`ac,iuaa e`ai`aeu oa:iaeaaoaid-yo n`a`iuaa ec,une`aiiuaa od-aaaia`aiey niad-aa`iaaiiie         
Никакой кодировкой прочитать не могу  :(

file.htm в кодировке CP1251.

В мане по lynx насчет кодировки ничего вразумительного не нашел.

Что я не так сделал ?
[snapback]7218[/snapback]
А как же
Code: [Select]
-display_charset=MIMEname
              set the charset for the terminal output.
Нужно также смотреть ~/.lynxrc
На предмет
character_set=Cyrillic (KOI8-R) (Ваша локаль)
Ну или запустить lynx нажать "O" и поправить настройки.

Offline vukor

  • Jr. Member
  • **
  • Posts: 99
  • Karma: +0/-0
    • http://vukor.tomsk.ru
Как убрать все тэги из html-файла ?
« Reply #5 on: February 01, 2006, 20:03:01 »
Quote
А как же
Code: [Select]
-display_charset=MIMEname
              set the charset for the terminal output.
Нужно также смотреть ~/.lynxrc
На предмет
character_set=Cyrillic (KOI8-R) (Ваша локаль)
Ну или запустить lynx нажать "O" и поправить настройки.
[snapback]7219[/snapback]

Ясно. Видимо невнимательно ман смотрел.
Благодарю.