如何简单地打开一个url和读取数据从网页与D?(如果需要使用标准库功能,我更喜欢phobos而不是tango)
curl在标准库中。你可以像这样很容易地获取url:
import std.net.curl;
string content = get("d-lang.appspot.com/testUrl2");
http://dlang.org/phobos/std_net_curl.html得到
如果你需要解析html,我写了一个dom库,非常擅长。https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff
获取dom。D和字符编码。D那么你可以:
import arsd.dom;
auto document = new Document();
document.parseGarbage(content); // content is from above, the html string
writeln(document.title); // the <title> contents
auto paragraph = document.querySelector("p");
if(paragraph is null)
writeln("no paragraphs in this document");
else
writeln("the first paragraph is: ", paragraph.innerText);
等等。如果您使用过javascript dom api,这是非常相似的(尽管也扩展了很多方式)。
我认为std.net.curl绑定是你最好的选择,特别是它的get/post方法(示例在文档中):http://dlang.org/phobos/std_net_curl.html#get
毕竟,curl是专门为这类任务设计的,绑定是phobos的一部分。