Чтение HTML-содержимого URL-адреса в OCaml

Я хотел бы написать функцию OCaml, которая принимает URL-адрес и возвращает строку, состоящую из содержимого HTML-файла в этом месте. Есть идеи?

Спасибо большое!

лучшие, Сурикатор.

1 ответов


Я сделал обе эти вещи, используя ocurl и nethtml

ocurl чтобы прочитать содержимое URL-адреса (тонны свойств здесь; это минимум),

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; (возможно, Вам потребуется настроить DTD для Nethtml.parse)

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

Ура!