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