3

私はこのウェブサイトを廃棄しようとしています。以下のXpath式はFirePathfirebug拡張機能で正常に機能します

html/body/table/tbody/tr[3]/td

しかし、同じxpath式を使用すると、以下のコードはnullになります。

 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
 HtmlWeb web = new HtmlWeb();

 doc = web.Load("http://www.edb.gov.hk/templates/sch_list_print.asp?district=cw");
 var collection= doc.DocumentNode.SelectNodes("html/body/table/tbody/tr[3]/td");

誰かがこれについて私を助けることができますか?ありがとう。

4

1 に答える 1

3

これは機能します。スクレイピングしようとしているページのソースを見ると、テーブル内にボディがありません。

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
HtmlWeb web = new HtmlWeb();

doc = web.Load("http://www.edb.gov.hk/templates/sch_list_print.asp?district=cw");
var collection= doc.DocumentNode.SelectNodes("html/body/table/tr[3]/td");

xpathをに変更します

html/body/table/tr[3]/td
于 2012-11-21T19:02:56.770 に答える