Многострочные атрибуты с 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"),

Есть идеи?

1 ответ

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

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

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

Другие вопросы по тегам