Чтение HTML-содержимого URL в OCaml - PullRequest
6 голосов
/ 07 января 2011

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

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

Best, Surikator.

1 Ответ

8 голосов
/ 07 января 2011

Я сделал обе эти вещи, используя 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)

и от Нет ; (вам может понадобиться установить 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

Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...