我正在尝试使用Windows Phone 8.0 Silverlight应用程序从PlayStation中抓取数据。
但是,我相信该网站使用的是Javascript,而我使用htmlagilitypack访问它时遇到了麻烦。
到目前为止我的代码是:
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string htmlPageLive = "";
using (var client = new HttpClient())
{
htmlPageLive = await client.GetStringAsync("https://store.sonyentertainmentnetwork.com/#!/en-us/free-games/cid=STORE-MSF77008-PSPLUSFREEGAMES?smcid=pdc:us-en:ps-plus:sub-nav-new-arrivals");
}
HtmlDocument htmlDocumentLive = new HtmlDocument();
htmlDocumentLive.LoadHtml(htmlPageLive);
foreach (var div in htmlDocumentLive.DocumentNode.SelectNodes("//ul[@class= 'pane pane0']"))
{
PSPGames newGame = new PSPGames();
newGame.Title = div.SelectSingleNode(".//h3[@class= 'cellTitle']").InnerText.Trim();
}
lstPSPGame.ItemsSource = PSPgame;
customIndeterminateProgressBar.Visibility = Visibility.Collapsed;
}
然而,该应用程序正在崩溃的#fore;'尝试查找节点'窗格窗格'。
时的行是否可以刮取数据?如果是这样,我需要做什么?
提前致谢。
答案 0 :(得分:0)
由于它是异步加载的,因此无法使用HtmlAgilityPack抓取数据。查询页面时得到的就是它的骨架。
您可以尝试观看网络呼叫并查看是否调用了公共Web服务。留意json或xml数据