Сбой HtmlCleaner на некоторых xpath, сгенерированных XPather - PullRequest
1 голос
/ 21 декабря 2010

Я использую библиотеку HtmlCleaner2.1 для оценки xpath-файлов, сгенерированных плагином XPather для html, для очистки содержимого из него.Но иногда HtmlCleaner не может оценить xpath.

Для ex http://www.megaoutdoors.co.uk/norwegen-army-shirt-zipped-roll-top-collar-278-p.asp

Для названия продукта XPath, заданный XPather, равен // body / div [11] / div [6] / div [2] / form / div [1] / h1 Но это не получается, когда я оцениваю его с помощью HtmlCleaner.

Как мы могли бы преодолеть эту проблему.Меняется ли структура страницы, когда htmlcleaner очищает ее?

Спасибо
Jitendra

1 Ответ

1 голос
/ 22 декабря 2010

Меняется ли структура страницы при htmlcleaner очищает его?

Согласно введенному примеру на http://htmlcleaner.sourceforge.net/, HTMLCleaner определенно может изменить структуру страницы при очистке. В этом примере он добавляет элементы html и body и удаляет элемент h1 из таблицы.

Почему бы вам не запустить HTMLCleaner на странице и не посмотреть на вывод с нее? Тогда вы сможете определить, изменилась ли и как изменилась структура.

Есть ли способ избежать этого или в Другими словами, сохранить DOM генерируется HtmlCleaner как можно ближе к DOM построен браузером.

Это можно сделать, указав измененный набор информации о тегах, отличный от по умолчанию . Это, очевидно, то, что настраивает «исправления» DOM. (См. здесь , чтобы узнать, как его использовать, если вы используете интерфейс командной строки.)

Или, если вы могли бы предложить какой-то другой HTML-парсер, DOM которого очень близко в DOM через браузер, так что xpath сгенерированный XPather плагин потерпит неудачу очень редко.

Я бы попробовал HTML Tidy и посмотрел бы, что он делает с DOM. Это широко используемая и зрелая программа для очистки соскобленного HTML.

...