2011-01-05 10 views
3

学習の練習として、Common LispにWebスクレーパーを書いています。 (ラフ)計画は次のとおりです。無効なHTMLを解析するためのCommon Lispパッケージ?

  1. 使用Quicklisp
  2. 私はちょうど争点に実行したxmls

でページを解析してページをロードするために、依存関係

  • 使用Drakmaを管理するために、 :私が掻いているウェブサイトが、常に有効なXHTMLを生成するとは限りません。これは、ステップ3(xmlでページを解析する)が機能しないことを意味します。そして、私は正規表現をthis guy :-)として使用するのは嫌です。

    無効なXHTMLを解析するCommon Lispパッケージをお勧めしますか?私はHTML Agility Packの.NETに似た何かを想像しています...

  • 答えて

    10

    "closure-html"プロジェクト(Quicklispで利用可能)は、偽のHTMLから復旧して作業することができます。私はclosure-htmlをCXMLと共に使用して任意のWebページを処理します。うまく動作します。 http://common-lisp.net/project/closure/closure-html/

    +1

    閉鎖-htmlのGNU CLISPの下で動作するようには思えない - しかし、(希望なし聖なる戦争に火を付ける)、SBCLへの移動は苦痛になるように見える。私はまだLisp荒野の中を歩いているような気がしますが、少なくとも今私は声を聞くことができます。うまくいけば、彼らは私の頭の中だけではありません:-) –

    0

    ダンカンは、これまでのところ、私はUbuntuのLinuxとWindows(7 & XP)の両方でClozureのCommon Lispを使って成功してきたので、あなたはどこでも動作します実装を探しているなら、あなたは、このいずれかを試してみてください。今日我々がぷっくりあります:次の訪問者のための

    2

    https://shinmera.github.io/plump

    ぷっくりとしたが、無効なマークアップへの寛大さに焦点を当て、文書などのHTML/XMLのためのパーサです。無効な属性、不正な終了タグの順序、エンコードされていないエンティティ、存在しないタグタイプ、自己閉じタグなどのようなものを処理できます。ドキュメントをクラス表現に解析し、それを操作するためのDOM関数の小さなセットを提供します。あなたは自由に自分のクラスに解析するためにそれを変更することができます。

    およびそれら我々は同じ著者によってlquery(jqueryのような)またはCLSS(簡単なCSSセレクタ)のように、文書を照会するために、他のLIBSを持っています。

    我々はまた、現在のCommon Lispクックブックにはほとんどのチュートリアルがあります。https://lispcookbook.github.io/cl-cookbook/web-scraping.html

    も参照してくださいCommon LispのWikiを:http://www.cliki.net/Web

    +0

    そして少しチュートリアルがあります:https://lispcookbook.github.io/cl-cookbook/web-scraping.html – Ehvince

    関連する問題