6
Tôi muốn viết hàm OCaml lấy URL và trả về một chuỗi được tạo thành từ nội dung của tệp HTML tại vị trí đó. Bất kỳ ý tưởng?Đọc nội dung HTML của URL trong OCaml
Cảm ơn rất nhiều!
Best, Surikator.
Tôi muốn viết hàm OCaml lấy URL và trả về một chuỗi được tạo thành từ nội dung của tệp HTML tại vị trí đó. Bất kỳ ý tưởng?Đọc nội dung HTML của URL trong OCaml
Cảm ơn rất nhiều!
Best, Surikator.
tôi đã thực hiện tất cả những điều đó bằng ocurl và nethtml
ocurl đọc nội dung của URL (tấn tài sản ở đây, đây là mức tối thiểu),
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)
và từ nethtml ; (bạn có thể cần thiết lập DTD cho 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
Chúc mừng!
@nlucaroni Cảm ơn rất nhiều câu trả lời. Đó là chính xác những gì tôi muốn. Một số câu hỏi nhanh: (1) tôi có thể sử dụng hàm string_of_uri của bạn cho các URL chứa các tệp khác (ví dụ: tệp JPEG) để phân tích các phần nội dung của tệp đó (đừng lo lắng về ý nghĩa của nó, nhưng lo lắng về mã hóa)? (2) Tôi không thể cài đặt ocurl (GODI đã nói với tôi:> File "lifetime.ml", dòng 16, ký tự 25-36: > Lỗi: Giá trị chưa được gửi Date.to_mjd), bất kỳ ý tưởng nào? – Surikator
1) Oh yeah. hoàn toàn loại tập tin bất khả tri. 2) Tôi nghĩ rằng tôi đã cài đặt nó từ nguồn; godi đã liên tục thất bại tôi. – nlucaroni
Actaully, tôi chỉ nhìn vào nguồn ocurl; Tôi không thấy tệp 'lifetime.ml' (hoặc mô-đun ngày) nào cả !! Phải là từ một số phụ thuộc kỳ lạ? Chúc mừng! – nlucaroni