如何简单地打开网址并使用D从网页中读取数据? (如果需要使用标准的lib功能,我更喜欢phobos而非tango)
答案 0 :(得分:4)
curl在标准库中。您可以很容易地获取网址:
import std.net.curl;
string content = get("d-lang.appspot.com/testUrl2");
http://dlang.org/phobos/std_net_curl.html#get
如果你需要解析html,我写了一个非常好的dom库。 https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff
抓住dom.d和characterencodings.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,这非常相似(虽然也在很多方面进行了扩展)。
答案 1 :(得分:3)
我认为std.net.curl绑定是你最好的选择,特别是它的get / post方法(例子在文档中):http://dlang.org/phobos/std_net_curl.html#get
毕竟,curl是专为此类任务而设计的,绑定是phobos的一部分。