用于解析无效HTML的Common Lisp包?

Dun*_*yne 4 common-lisp web-scraping quicklisp

作为一个学习练习,我在Common Lisp中编写了一个Web scraper.(粗略)计划是:

  1. 使用Quicklisp管理依赖项
  2. 使用Drakma加载页面
  3. 使用xmls解析页面

我刚刚陷入困境:我正在抓取的网站并不总能产生有效的XHTML.这意味着步骤3(使用xmls解析页面)不起作用.而且我不喜欢使用正则表达式作为这个人 :-)

那么,任何人都可以推荐一个Common Lisp包来解析无效的XHTML吗?我想象的类似于HTML Agility Pack for .NET ...

Xac*_*ach 11

"closure-html"项目(可在Quicklisp中获得)将从伪造的HTML中恢复并生成可以使用的东西.我使用closure-html和CXML来处理任意网页,它运行良好.http://common-lisp.net/project/closure/closure-html/