豚吐露@wiki
CsQuery
最終更新:
Bot(ページ名リンク)
-
view
CsQuery
~ 素材の開き方 ~
- HTML文字列をいじる
CQ dom = CQ.Create(htmlStr);
※htmlStrは、HTMLファイルの中身を格納した文字列。
- 任意のURLからHTMLを取得していじる。
CQ dom = CQ.CreateFromUrl(urlStr);
※urlStrは、URLを格納したstring文字列。
- 任意のHTML fileを読み込んでいじる。
CQ dom = CQ.CreateFromFile(filePath);
※filePathは、HTML fileへのpathを格納したstring文字列。
どっちにしろお手軽♪ヽ(=´▽`=)ノ
~ domの取得方法 ~
開いた素材CQ objectに対して以下の方法で、操作ができる。
開いた素材CQ objectに対して以下の方法で、操作ができる。
- タグ指定
e.g.) divタグ取得
CQ div = dom["div"];
jQuery的に指定するだけで任意のdomを取得可能。
- class指定
e.g.) classにhogeClassを指定
CQ div = dom[".hogeClass"];
- ID指定
e.g.) IDにhogeIDを指定
CQ div = dom["#hogeID"];
- 複合
e.g.) IDにhogeIDが付いたdivタグ配下のliタグを指定
CQ div = dom["div#hogeID li"];
該当するものがいくつでも配列で返ってくる。
まぁ、CSS selectorなのでそこら辺の勉強は必要。
まぁ、CSS selectorなのでそこら辺の勉強は必要。
~ domから選択した部分のhtmlを取得する ~
var html = div.RenderSelection();
全部取りたい場合
var html = div.Render();
~ tips ~
- 任意のタグの一覧を順番に処理したい
ヤフーニュースのIT総合から記事一覧を取ってきて、URLとそのタイトルでぐーるぐる回したい場合。
foreachでも色々試してみたけどダメみたい。(´・ω・`)
e.g.)
foreachでも色々試してみたけどダメみたい。(´・ω・`)
e.g.)
- CQ dom = CQ.CreateFromUrl(@"http://news.yahoo.co.jp/hl?c=sci");
- var reportList = dom["li p.ttl a"];
- for (var i = 0; i < reportList.Length; i++ )
- {
- CQ r = reportList.Eq(i);
- var title = r.Text();
- var url = r.Attr("href");
- }
更新日: 2015年01月14日 (水) 10時25分22秒