問題タブ [haskell-tagsoup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
3990 参照

xml - Haskell で大量の XML を処理するにはどうすればよいですか?

私はスタック オーバーフロー データ ダンプを調査してきましたが、これまでのところ、使いやすい XML と正規表現による「解析」を利用しています。さまざまな Haskell XML ライブラリを使用して、特定のユーザーによるドキュメント順の最初の投稿を見つけようとした私の試みはすべて、厄介なスラッシングに遭遇しました。

タグスープ

hxt

xml

どこで私は間違えましたか?Haskell で大量の XML ドキュメントを処理する適切な方法は何ですか?

0 投票する
2 に答える
423 参照

xml - (あまりにも)多くの XML ファイルを処理する(TagSoup を使用)

title約 4500 個の XML (HTML5) ファイルを含むディレクトリがあり、それらのデータ (基本的にはと)の「マニフェスト」を作成したいと考えていますbase/@href

この目的のために、関数を使用して関連するすべてのファイル パスを収集し、それらを readFile で開き、tagsoup ベースのパーサーに送信してから、結果のリストを出力/フォーマットしています。

これはファイルのサブセットに対して機能しますが、最終的にopenFile: resource exhausted (Too many open files)エラーが発生します。少し読んだ後では、これはそれほど驚くべきことではありません。私はこれを使用しmapM parseMetaDataFile filesて、すべてのハンドルをすぐに開きます。

私が理解できないのは、問題を回避する方法です。Iteratee について少し読んでみました。これを Tagsoup で簡単に接続できますか? Strict IO は、とにかく私が使用した方法 (へー) では、ファイルがそれほど大きくなくても (平均で 28 KB)、コンピューターをフリーズさせました。

任意のポインタをいただければ幸いです。大きなリストを作成するアプローチも失敗する可能性があることは理解していますが、4.5k 要素はそれほど長くはありません...また、どこにでもあるはずStringですByteString

ここにいくつかのコードがあります。素朴なことをお詫びします:

0 投票する
1 に答える
515 参照

http - ウィキペディアからPDFファイルをダウンロード

ウィキペディアでは、すべての記事にpdfとしてダウンロードするためのリンク(印刷/エクスポートの左側)が用意されています。最初にウィキペディアのリンクを取得してレンダリングリンクを出力する小さなHaskellスクリプトを作成しました。レンダリングURLを入力として指定すると、空のタグが表示されますが、ブラウザーの同じURLでダウンロードリンクが提供されます。

誰かがこの問題を解決する方法を教えてもらえますか?ideoneのフォーマットされたコード

0 投票する
1 に答える
329 参照

haskell - Haskell での IO アクションの繰り返し

1 つまたは複数の Web ページから情報をスクレイピングしてフラッシュ カードに変換する小さなプログラムを書き直そうとしています。ここに小さなスニペットがあります:

一度に 1 つずつ実行しても問題はありません。IO は do ループに移動し、純粋な関数で必要なことを実行します。これを繰り返し行う方法がよくわかりません。基本的に私が求めているのは次のとおりです。

問題は、ps の各文字列をループしてきれいに返すように getVerbePages を作成するにはどうすればよいかということです。私はこれまで、再帰的なアクションとそのすべてを問題なく行うことができましたが、これはほとんど Haskell の初心者ですが、IO アクションを繰り返すときにこれらすべてがどのように機能するかを理解していません。

0 投票する
1 に答える
1272 参照

html - Haskell で TagSoup を使用してタグを解析する

Haskell で HTML ファイルからデータを抽出する方法を学ぼうとしてきましたが、壁にぶつかりました。私は Haskell の経験はまったくありません。私の以前の知識は Python (および HTML 解析用の BeatifulSoup) に関するものです。

私は TagSoup を使用して自分の HTML を見ており (推奨されているようです)、それがどのように機能するかについて基本的な考えを持っています。問題のコードの基本的なセグメントは次のとおりです(自己完結型で、テスト用の情報を出力します):

ただし、「div」タグにアクセスしようとしているわけではありません。タグの前のすべてを次のような形式で削除したい:

私はそれを書き出そうとしました:

しかし、その後、リテラル [0-9]+ を見つけようとします。Text.Regex.Posix モジュールの回避策をまだ見つけていません。また、文字のエスケープも機能しません。ここでの解決策は何ですか?

0 投票する
2 に答える
278 参照

haskell - HTML マークアップから内部テキストを抽出するにはどうすればよいですか?

次のコードがあります。

次のような出力が得られます[TagOpen "hello" [],TagText "my&",TagClose "world"]。しかし、私は取得したいだけ[TagText "my&"]です。そして、私はこれを行うことができます:

次のような出力が得られます[TagText "my&"]TagTextしかし、の中に何が入っているかわかりません"my&"。私の究極の目標は、"my&"私が得ることができるものを手に入れることです

を使用しようとしましTagTextたが、正しい方法で使用できません。