Не работает экранирование

На самом деле это единственный раздел про unix на этом форуме

Модератор: /dev/random

altblog
Сообщения: 4

Не работает экранирование

Сообщение altblog »

Здравствуйте! Есть скрипт (mercury parser) который вытаскивает html-код указанной страницы в интернете. Если я при подключении к SSH пишу:

Код: Выделить всё

mercury-parser https://fossbytes.com/android-custom-roms/ --extend-list h3="h3"
То он не правильно считает количества тега h3 на странице. Правильней было бы использовать:

Код: Выделить всё

mercury-parser https://fossbytes.com/android-custom-roms/ --extend-list h3="<h3>"
Но тогда он возвращает значение null, т.е. не находит таких тегов. Я пробовал экранировать

Код: Выделить всё

h3="\<h3\>"
, но тогда скрипт возвращает:

Код: Выделить всё

"h2": [
    "\\",
    ""
  ]
Есть решение у этой проблемы?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Re: Не работает экранирование

Сообщение serzh-z »

altblog писал:
04.09.2019 18:32
Правильней было бы использовать:
Правильнее использовать CSS-селекторы.
Спасибо сказали:
altblog
Сообщения: 4

Re: Не работает экранирование

Сообщение altblog »

Сайты всегда разные и код у них различный, также как и количество h3. Возможно ли написать универсальный селектор для поиска <h3>?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Re: Не работает экранирование

Сообщение serzh-z »

altblog писал:
05.09.2019 09:48
Возможно ли написать универсальный селектор для поиска <h3>?
h3 и есть такой, он должен выбирать все H3.

Из написанного я не понимаю, чего именно вы хотите от mercury-parser. Как минимум, нужно установить и посмотреть на него.
Спасибо сказали:
altblog
Сообщения: 4

Re: Не работает экранирование

Сообщение altblog »

У всех остальных h3 есть class=. Но такие h3 не нужны в выборке. Нужны только те, которые в <h3> без классов и других приблуд.
Спасибо сказали:
altblog
Сообщения: 4

Re: Не работает экранирование

Сообщение altblog »

Решение:
h3="h3:not([class])"
Спасибо сказали: