Взять только текст со страницы.

  • Автор темы Автор темы Lollipop
  • Дата начала Дата начала

Lollipop

Client
Регистрация
06.09.2012
Сообщения
271
Реакции
29
Баллы
28
Можно ли?
Экшен "Взять Текст" - тащит мусор, то что между <scripts> </script>
"Артикле Экстракшен" - кусок сверху только выгрызает.
 
{-Page.Text-}
 
Эх, рано я обрадовался...
так там ведь тотже мусор в виде кода скриптов
типа

//<![CDATA[
jQuery.noConflict();

jQuery('ul.nav').superfish({

И этого побольше чем текста будет.
пропустили <scripts> </script>?
 
Пардон, заодно спрошу, - у меня регулярно пропадает Дебугерское окно с переменными (неудобное кстати).
И как его выковырять - непонятно - лечится только переустановкой. по F2 - только список, без значение.
 
Удалить все тэги можно такой регуляркой:

<.*?>

Заменить ее на пустоту через операции с текстом.

2) Попробуйте удалить
c:\Users\[Username]\AppData\Roaming\ZennoLab\ZennoPoster\4\ProjectMak er\ProjectEditor\EditorLayout.xml
c:\Users\[Username]\AppData\Roaming\ZennoLab\ZennoPoster\4\ProjectMak er\ProjectEditor\ToolBoxLayout.xml

и перезагрузить PM
 
Так в том то и дело, не все в коде прикрыто <>
при очистке пропустили <scripts> </script>
их самих забрали, и ж
а там уже незакавычено.
возьмите вот хоть это _http://design-milk.com/the-butler-organizer-by-curtis-micklish/
попробуйте плиз

там есть правда, что попарсить, но удалиться не всё
 
Ну вот так можно заменить:

<scripts>.*?</script>

на пустоту.
Если что-то остается, смотрите что еще очередной регуляркой сможете почистить.
 
  • Оценить
Реакции: Lollipop
Спасибо за оперативность,
но кой-чё остается...
дело в том, что Zenno при чистке исходного кода страницы забирает только сами теги "<scripts>" "</script>"(их нет уже), а всё что внутри остается.
это не совсем правильно.
 
Вариант из моего прошлого поста как раз вырезает и тэги и то что между ними.
 
ох.
нету. совсем нету "<scripts>" "</script>"
нечего вырезать.
остатся в {-Page.Text-} - текст и кучки мусора в разных местах, которые раньше был между "<scripts>" "</script>"
и <scripts>.*?</script> некчему применять, если только к прошлой жизни :)

мне так кажется.
 
Вот так наверн точнее

<script>[\w\W]*?</script>
 
Да, конечно, Вы правы, если на странице были бы 'script', то так лучше.
 
Что-нить типа такого

<\w*?>[\w\W]*?</.*?>
 
  • Оценить
Реакции: Lollipop
То, что надо, спасибо.

А не лучше поправить сам код экшена "Взять Текст"? Экшен ведь предполагает на выходе чистый текст.
 
Если вы про "выделение основной статьи", то там отсекаются не столько html элементы со своими аттрибутами, сколько комментарии, навигация по мере возможности и так далее.
Чтобы подвергать анализу максимально приближенный к основсному тексту кусок.
 
ну "выделение основной статьи", это на любителя, а вот если уж текст, так текст -
Табы->Данные->Взять Текст. по сути это {-Page.Text-} и он работает кривовато.
 
и правда много мусора берется на примере вашей ссылки.
посмотрим.
 
посмотрите пожалуйста.
мусора там не просто много, его там больше чем текста, (сейчас много смотрю)
при удаленных <script> вычистить его практически невозможно, ибо он слишком многообразен
 
rostonix, а есть надежда, что это в ближайшем билде пофиксят?
имхо там просто помарка в коде.
 
Не могу сказать точно :)
 
Удалить все тэги можно такой регуляркой:
<.*?>
Заменить ее на пустоту через операции с текстом.

А если использовать не Regex, а Text, как это выражение может выглядеть? Я пытался указывать <*> - не работает
 
text ищет по точному совпадению.
соответственно <*> найдет только <*>
 
жаль, чо :-( хотел бы такое предложение внести)
 
для этого есть вторая опция: Regex )
 
Подскажите, пожалуйста, как спарсить не весь, а только определённый фрагмент текста на странице?
Сейчас делаю так:
1) Экшеном "Данные" беру (DOM) с помощью регулярки нужный мне фрагмент текста;
2) Далее, удаляю HTML теги через экшен "обработка текста" – замена на пустоту регуляркой <.*?>

Этот способ работает, но текст получается слипшейся, так как теги переноса на новую строку – <br /> удаляются тоже.
Как лучше парсить текст, чтобы его читабельность оставалась нормальной?
 
Последнее редактирование:
Ага, спасибо, только хотел отписаться, что нашёл решение, но вы меня опередили! ))
Кстати, там ещё надо добавить удаление пустых строк регуляркой \n\r – иначе пустые строки получаются, а на сайте доноре просто перенос текста на новую строку – без пустоты.
Короче, какие-то танцы с бубном... )) Всё равно немного не так, как в источнике.
 
Последнее редактирование:

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)