Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: экспорт из html  (Прочитано 3965 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: экспорт из html
« Ответ #45 : 09 Апреля 2016, 16:05:43 »
Это работает так — в командной строке набираем и получаем вывод:
Код: (bash) [Выделить]
sol@eee:~$ regtxt='[[:space:]]*\(.\+\b[[:punct:]]\?\)[[:space:]]*'
sol@eee:~$ rmtag='/<\/div>/!{N;b1};s/.*\(span>\)'$regtxt'<\/\1.*/\2/;s/.*">'$regtxt'<\/div>/\1/'
sol@eee:~$ sed -n '
>    /<div class="form-header-title">/{:1;'$rmtag';h;}
>    /<div class="form-user-name">/{:2;'${rmtag/b1/b2}';H;}
>    /<div class="form-post-text[^>]*">/{:3;'${rmtag/b1/b3}';H;g;s/\n/;/;s/\n/;/p;s/;.*//;h;}
> ' sosorce.html
Кодекс поведения игрока ITF и ТЕ;Совет ЕКС;Здесь ЕКС планирует отвечать на вопросы по Кодексу поведения ученика. Хотя это не совсем епархия ЕКС, но на территории России проводится достаточно много международных турниров, которые обслуживают российские судьи в различных судейских должностях. В настоящее время между Кодексом поведения игрока РFA и кодексами международных организаций есть некоторые отличия, которые пытаются свести к минимуму. Такая работа продолжается.
Кодекс поведения игрока ITF и ТЕ;Совет ЕКС;Для удобства пользователей Совет ЕКС размещает действующий Кодекс поведения игрока 2006 года.
Кодекс поведения игрока ITF и ТЕ;Арт;Ещё бы и форму 13 подправить (с единым образцом заполнения)
Кодекс поведения игрока ITF и ТЕ;Совет ЕКС;<B>Арт,</B>  это функция НП "РТТ", которую они никак не хотят передать в ЕКС. Обратитесь в ОУ ТРТТ.
sol@eee:~$

— в приведенном примере обрабатывается файл  sosorce.html, это те данные, которые приведены в ответе № 30
А вот если указать  *.html, как в примере Azure, то будут обработаны все  html-файлы в текущем каталоге. Собственно, это то, что вам нужно. В отличие от моего скрипта, где нужно еще добавить небольшой кусочек, чтобы тоже обрабатывал все файлы.

sed  —  это программа, которая обрабатывает строки согласно заданным командам. В данном примере команды — это, например, 
H;g;s/\n/;/;s/\n/;/p;s/;.*//;h; Строки — это то, что лежит в указанном файле  sosorce.html или файлах  *.html.
« Последнее редактирование: 09 Апреля 2016, 23:36:15 от inkblack »
Делюсь знаниями, но их у меня мало!

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: экспорт из html
« Ответ #46 : 09 Апреля 2016, 19:59:02 »
inkblack, Спасибо, подхватили «знамя». Естественно, каждый использует тот инструмент который ему понятен и удобен. Тем хорош Линукс что одну и ту же задачу можно выполнить многими способами.
Единственно на чем хочу заострить внимание, что помимо универсальных, существуют и узкоспециализированные инструменты которые «заточены» именно на то, чтобы делать работу хорошо и быстро.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн cargan

  • Активист
  • *
  • Сообщений: 488
  • Oderint, dum metuant
    • Просмотр профиля
Re: экспорт из html
« Ответ #47 : 09 Апреля 2016, 22:14:50 »
Тем кто любит Python
 смотрите здесь

Пользователь добавил сообщение 10 Апреля 2016, 09:31:21:
и самое простое прямо в браузере
используя DOM и javascript - DOMParser
« Последнее редактирование: 13 Апреля 2016, 09:34:03 от cargan »

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: экспорт из html
« Ответ #48 : 10 Апреля 2016, 15:04:16 »
Полностью не читал, просто глянул по поиску слова в данной теме.

Данная задача (распарсить или выбрать нужные значения) легко решается регулярными выражениями. В PHP это preg_match, preg_match_all.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: экспорт из html
« Ответ #49 : 11 Апреля 2016, 00:02:37 »
Данная задача ЛЕГКО РЕШАЕТСЯ. Тысячью различных способов. Все это давно уже поняли.
Просто от слов «регулярные выражения» или «XMLParser» до работающей программы, которая делает именно то, что нужно —
примерно как от рисунка на бумажке до велосипеда из металла, с накачаными колесами, на который можно сесть и поехать.

Пара велосипедов, которые вполне ездят, в этой теме есть. И несколько бумажек, на которых нарисовано, как велосипед построить.

Но я о другом подумал: задача-то до конца не решена. Надо же распарсить страницу форума. Если в постах ничего, кроме текста,
тогда всё ОК. А если там  <div class="quote">какая-то цитата</div>?   Тогда надо еще разбирать.

Во всяком случае, оба представленных решения не дают правильного результата, если внутри поста есть еще внутренний Див.
Однако, я уверен, что и Azure при желании легко доработает свой  sed-скрипт,  да и я не вижу в доработке своего варианта
никаких трудностей.

Но это уже утром.
Делюсь знаниями, но их у меня мало!

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: экспорт из html
« Ответ #50 : 11 Апреля 2016, 08:58:26 »
Но я о другом подумал: задача-то до конца не решена.

Если ТС нужен работающий скрипт, пусть обратится к фрилансерам или изучает регулярки.

Если в постах ничего, кроме текста, тогда всё ОК. А если там  <div class="quote">какая-то цитата</div>?

Получил текст внутри нужного блока + удалил лишние теги. Если же есть теги с ненужным содержимым -- удалил эти теги с содержимым.
« Последнее редактирование: 11 Апреля 2016, 09:03:49 от unimix »

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.