豚吐露@wiki

CsQuery

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

CsQuery

Windows 7 Professional
Visual Studio 2013 Professional
CsQuery 1.3.4


~ 素材の開き方 ~
  • 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に対して以下の方法で、操作ができる。

  • タグ指定
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なのでそこら辺の勉強は必要。


~ domから選択した部分のhtmlを取得する ~
var html = div.RenderSelection();
全部取りたい場合
var html = div.Render();


~ tips ~

  • 任意のタグの一覧を順番に処理したい
ヤフーニュースのIT総合から記事一覧を取ってきて、URLとそのタイトルでぐーるぐる回したい場合。
foreachでも色々試してみたけどダメみたい。(´・ω・`)
e.g.)
  1. CQ dom = CQ.CreateFromUrl(@"http://news.yahoo.co.jp/hl?c=sci");
  2. var reportList = dom["li p.ttl a"];
  3. for (var i = 0; i < reportList.Length; i++ )
  4. {
  5. CQ r = reportList.Eq(i);
  6. var title = r.Text();
  7. var url = r.Attr("href");
  8. }




更新日: 2015年01月14日 (水) 10時25分22秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
ウィキ募集バナー