6
URLを受け取り、その場所にHTMLファイルの内容で構成される文字列を返すOCaml関数を記述したいと思います。何か案は?OCamlでURLのHTMLコンテンツを読む
ありがとうございます!
最高、 Surikator。
私はURLの内容を読み取るためにocurlとnethtmlocurlを使用して(ここではプロパティのトンを、これが最小である)それらのものの両方をやった
URLを受け取り、その場所にHTMLファイルの内容で構成される文字列を返すOCaml関数を記述したいと思います。何か案は?OCamlでURLのHTMLコンテンツを読む
ありがとうございます!
最高、 Surikator。
私はURLの内容を読み取るためにocurlとnethtmlocurlを使用して(ここではプロパティのトンを、これが最小である)それらのものの両方をやった
、
let string_of_uri uri =
try let connection = Curl.init() and write_buff = Buffer.create 1763 in
Curl.set_writefunction connection
(fun x -> Buffer.add_string write_buff x; String.length x);
Curl.set_url connection uri;
Curl.perform connection;
Curl.global_cleanup();
Buffer.contents write_buff;
with _ -> raise (IO_ERROR uri)
とnethtmlから;
let parse_html_string uri =
let ch = new Netchannels.input_string (string_of_uri uri) in
let docs = Nethtml.parse ?return_pis:(Some false) ch in
ch # close_in();
docs
乾杯を(あなたはNethtml.parse
のためにDTDを設定する必要がある場合があります)!
@nlucaroni答えに感謝します。それはまさに私が望んでいたものです。いくつかの簡単な質問:(1)そのファイルの内容の一部を分析するために、他のファイル(たとえばJPEGファイル)を含むURLにstring_of_uri関数を使用できますか(その意味は心配しないでください)。 (2)私はocurlをインストールすることができませんでした(GODIが教えてくれた:>ファイル "lifetime.ml"、16行目、文字25-36: >エラー:Unbound value Date.to_mjd) – Surikator
1)そうです。完全にファイルタイプに依存しません。 2)私はソースからインストールしたと思う。ゴディは一貫して私を失ってしまった。 – nlucaroni
Actaully、私はちょうどocurlソースを見ました。私は 'lifetime.ml'ファイル(またはDateモジュール)がまったく表示されません!いくつかの奇妙な依存からである必要がありますか?乾杯! – nlucaroni