Я использую веб-скребок с Node.js. Я бы хотел использовать XPath, поскольку я могу генерировать его полуавтоматически с несколькими видами графического интерфейса. Проблема в том, что я не могу найти способ сделать это эффективно.
-
jsdomочень медленный. Он разбор 500KiB файла через минуту или около того с полной загрузкой процессора и большим объемом памяти. - Популярные библиотеки для разбора HTML (например,
cheerio) не поддерживают XPath и не предоставляют DOM, совместимый с W3C. - Эффективный синтаксический анализ HTML, очевидно, реализован в WebKit, поэтому использование опции
phantomилиcasperбудет вариантом, но для этого нужно работать специальным образом, а не толькоnode <script>. Я не могу полагаться на риск, связанный с этим изменением. Например, гораздо труднее найти, как запуститьnode-inspectorс помощьюphantom. -
Spooky- это вариант, но он достаточно глючит, так что он вообще не запускался на моей машине.
Каков правильный способ анализа HTML-страницы с помощью XPath?