HTMLAgilityPack と XPath について学習しようとしています。NASDAQ Web サイトから (HTML リンク) 企業のリストを取得しようとしています。
http://www.nasdaq.com/quotes/nasdaq-100-stocks.aspx
現在、次のコードがあります。
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
// Create a request for the URL.
WebRequest request = WebRequest.Create("http://www.nasdaq.com/quotes/nasdaq-100-stocks.aspx");
// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
// Read into a HTML store read for HAP
htmlDoc.LoadHtml(responseFromServer);
HtmlNodeCollection tl = htmlDoc.DocumentNode.SelectNodes("//*[@id='indu_table']/tbody/tr[*]/td/b/a");
foreach (HtmlAgilityPack.HtmlNode node in tl)
{
Debug.Write(node.InnerText);
}
// Cleanup the streams and the response.
reader.Close();
dataStream.Close();
response.Close();
Chrome 用の XPath アドオンを使用して XPath を取得しました。
//*table[@id='indu_table']/tbody/tr[*]/td/b/a
プロジェクトを実行すると、無効なトークンであるという xpath 未処理の例外が発生します。
何が問題なのか少しわかりません。上記の tr[*] セクションに数値を入力しようとしましたが、それでも同じエラーが発生します。
私はこれを過去1時間見てきましたが、何か簡単ですか?
ありがとう