Многострочные атрибуты с jsdom

можно ли получить значение многострочных атрибутов с помощью jsdom (я использую его с Node.js+JQuery)?

Сайт для очистки включает в себя этот HTML:

<li><a data-title="<strong>hello world
this is a test</strong>" href="example.org</strong>">A link</a></li>

К сожалению, это анализируется

<li><a data-title="data-title"><strong>hello world
this is a test</strong>' href="example.org">A link</a></li>

и поэтому я не могу извлечь атрибут title и href, например. через JQuery: $("a").attr("data-title").

Любые идеи?


person Alexander    schedule 16.03.2013    source источник


Ответы (1)


Да, это ошибка парсера jsdom. Это связано с тем, что он не использует парсер, полностью совместимый с HTML5. Вы можете видеть, что такие ошибки все еще не устранены:

  1. https://github.com/tmpvar/jsdom/issues/494
  2. https://github.com/tmpvar/jsdom/issues/482

Вы можете попробовать cheerio для парсинга.

person user568109    schedule 17.03.2013
comment
Cheerio, похоже, тоже задыхается от многострочных атрибутов :-/. Думаю перейти на Механизацию. - person Alexander; 17.03.2013