2011-01-07 18 views

Odpowiedz

8

robiłem zarówno z tych rzeczy, z wykorzystaniem ocurl i nethtml

ocurl do odczytania zawartości URL (tony właściwości tutaj, jest to minimum),

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) 

i od nethtml ; (Może trzeba skonfigurować DTD dla 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 

Cheers!

+0

@nlucaroni Bardzo dziękuję za odpowiedź. Dokładnie tego chciałem. Kilka szybkich pytań: (1) czy mogę użyć funkcji string_of_uri dla adresów URL zawierających inne pliki (na przykład plik JPEG) do analizy części zawartości tego pliku (nie martw się o jego znaczenie, ale martw się kodowaniem)? (2) Nie udało mi się zainstalować ocurl (GODI powiedział mi:> Plik "lifetime.ml", wiersz 16, znaki 25-36: > Błąd: Brak wartości Date.to_mjd), jakieś pomysły? – Surikator

+1

1) O tak. całkowicie agnostyczny typ pliku. 2) Myślę, że zainstalowałem go ze źródła; Godi konsekwentnie mnie zawiódł. – nlucaroni

+0

Actaully, właśnie patrzyłem na źródło ocurl; W ogóle nie widzę pliku "lifetime.ml" (lub modułu daty)! Musi pochodzić z jakiejś dziwnej zależności? Twoje zdrowie! – nlucaroni

Powiązane problemy