Textpipe: извлечение текста между двумя тегами - PullRequest
2 голосов
/ 17 ноября 2011

Я не могу на всю жизнь понять, как выполнить эту задачу с TextPipe .

ЗАДАЧА:

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

<div><div class="article">`TEXT`<span id="contentBottomLeft"></span>

Я определил фильтр ограничения с помощью тега end и start, но что дальше? Этот фильтр требует подфильтр, и я не понимаю, какой именно фильтр мне нужно использовать дальше и как его настроить. Мне нужно повторить этот процесс извлечения для нескольких тысяч HTML-файлов.

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

Ответы [ 2 ]

5 голосов
/ 22 ноября 2011

Это очень просто с TextPipe, что кстати потрясающе.

Добавить поиск Perl и заменить шаблонный фильтр, с текстом поиска:

<div><div class="article">[^<]*<span id="contentBottomLeft"></span>
  • здесь, TEXTможет быть любым символом, кроме «<» - это ускоряет шаблон. </li>

Установите для заменяемого текста:

$0\r\n

Затем просто проверьте « Извлечь»соответствует опции 'фильтра поиска / замены.

Наконец, в Фильтре вывода используйте' Вывод одного файла 'в качестве имени файла назначения.

2 голосов
/ 17 ноября 2011

Без дополнительной помощи от вас, я могу только догадываться, что вы хотите удалить все элементы

, первый дочерний элемент которых является другим элементом
с атрибутом класса, равным "article".

ПослеБеглый взгляд на документацию TextPipe Похоже, что он не будет делать ничего подобного выражениям XPath, но вы должны поэкспериментировать с фильтром Restrict to between tags и подфильтром Remove All.помните, что, возможно, TextPipe не будет делать то, что вы хотите, и вам, возможно, придется искать решение в другом месте.

...