0
我做了一個簡單的程序,用於在註釋中獲取youtube用戶。 這是代碼HtmlAgilityPack HtmlNodeCollection返回NULL,不應該
string html;
using (var client = new WebClient())
{
html = client.DownloadString("http://www.youtube.com/watch?v=ER5EnjskCvE");
}
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
List<string> data = new List<string>();
HtmlNodeCollection nodeCollection = doc.DocumentNode.SelectNodes("//*[@id='comments-view']/ul[1]/li[1]/a/span/span/span/span/img");
foreach (HtmlNode node in nodeCollection)
{
data.Add(node.GetAttributeValue("alt",null));
}
但我有我的nodeCollection是返回null的問題。 對於XPath的,我用複製XPath選項中鉻下F12
爲了得到答案,你只需要調試它,通過檢查的'價值html'在被WebClient下載之後。我剛剛爲您完成了這一任務,這是因爲WebClient下載的HTML只是用於呈現完整頁面的基本Javascript。因此,HtmlAgilityPack不會「看到」JS之後的任何東西。我建議只需完全拋棄HtmlAgilityPack並使用專爲YouTube設計的API:https://developers.google.com/youtube/ – Arran
謝謝,將檢查YT API – user2913512