Общий пакет LISP для анализа неверного HTML? [закрыто

StackOverflow https://stackoverflow.com/questions/4599900

Вопрос

В качестве учебного упражнения я пишу веб -скребок в Common Lisp. (Грубый) план:

  1. Использовать QuickLisp управлять зависимостями
  2. Использовать Дракма загрузить страницы
  3. Просматривать страницы с XMLS

Я только что столкнулся с точкой прилипания: веб -сайт, который я соскребую, не всегда производит действительный xhtml. Это означает, что шаг 3 (анализ страниц с помощью XML) не работает. И я так же не хочу использовать регулярные выражения, как и этот парень :-)

Итак, может ли кто -нибудь порекомендовать общий пакет LISP для анализа неверного XHTML? Я представляю что -то похожее на HTML Agility Pack для .net ...

Это было полезно?

Решение

Проект «Закрытие-HTML» (доступный в QuickLisp) восстановится после фиктивного HTML и производит что-то, с чем вы можете работать. Я использую закрытие-HTML вместе с CXML для обработки произвольных веб-страниц, и это хорошо работает. http://common-lisp.net/project/clocure/closure-html/

Другие советы

Для следующих посетителей: сегодня у нас есть пухлый: https://shinmera.github.io/plump

Plump является анализатором для HTML/XML, похожих на документы, сосредоточившись на снисходительстве к недействительной разметке. Он может справиться с такими вещами, как неверные атрибуты, плохой порядок закрытия тегов, некодированные сущности, несуществующие типы тегов, самозакрывающие теги и так далее. Он анализирует документы к представлению класса и предлагает небольшой набор функций DOM, чтобы манипулировать им. Вы можете свободно изменить его, чтобы разобраться на собственных классах.

и у нас есть другие либера LQUERY (jquery-подобный) или CLSS (Простые селекторы CSS) тем же автором.

У нас также есть небольшой учебник по общей поваренной книге Lisp: https://lispcookbook.github.io/cl-cookbook/web-scraping.html

См. Также обыкновенный Lisp Wiki: http://www.cliki.net/web

Дункан, до сих пор я добился успеха, используя Clozure Common LISP под Ubuntu Linux и Windows (7 & XP), поэтому, если вы ищете реализацию, которая будет работать везде, вы можете попробовать это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top