【发布时间】:2015-10-28 22:57:34
【问题描述】:
我正在尝试解析此网页http://www.aliexpress.com/wholesale?site=glo&SearchText=watch&page=1 并获取所有手表。然而,我用 HTMLAgilityPack 尝试了大约十几个不同的 XPath,我只能抓取 4 个产品链接(应该是 36 个左右)。
WebClient client = new WebClient();
client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36";
var html = client.DownloadString(currentUrl);
var document = new HtmlDocument();
document.LoadHtml(html);
var links = doc.DocumentNode.SelectNodes("//div[@class='item']//a").Select(a => a.Attributes["href"].Value).Distinct();
我尝试了很多不同的 XPath,似乎没有任何效果,有趣的是,即使 "//a[@href]" 无法解析所有产品,但我再次只能看到其中 4 个的链接。
我重新检查了它正在加载的 html,我可以看到更多产品。那么问题是什么?是一些 HtmlAgilityPack 问题吗?任何人都可以帮忙,我已经为此苦苦挣扎了三天......
【问题讨论】:
标签: c# .net parsing xpath html-agility-pack