単純にURLを開いて、Dを使用してWebページからデータを読み取る方法は?(標準のlib機能を使用する必要がある場合は、タンゴよりもphobosの方が好きです)
質問する
489 次
2 に答える
4
curlは標準ライブラリにあります。次のように、非常に簡単にURLを取得できます。
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-include-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を使用したことがある場合、これは非常に似ています(ただし、多くの方法で拡張されています)。
于 2013-01-01T15:50:11.487 に答える
3
std.net.curlバインディング、特にそのget / postメソッド(例はドキュメントにあります)が最善の策だと思います:http://dlang.org/phobos/std_net_curl.html#get
結局のところ、curlはこの種のタスク用に特別に設計されており、バインディングはフォボスの一部です。
于 2013-01-01T15:47:50.960 に答える