サイトでJavascriptが使用されていて、htmlagilitypackを使用してアクセスできない

c# html-agility-pack web-scraping windows-phone-8

質問

私は、 プレイステーションからのデータをスクラップするためにWindows Phone 8.0 Silverlight Appを使用しようとしています。

しかし、私はサイトが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;
}

しかし、アプリケーションはノード 'pane pane0'をルックアップしようとすると、 'foreach'行でクラッシュしています。

データをスクラップすることは可能ですか?もしそうなら、私は何をする必要がありますか?

前もって感謝します。

人気のある回答

HtmlAgilityPackが非同期にロードされるため、データをスクラップすることはできません。あなたがページを照会するときに得られるのはスケルトンです。

あなたが試みることができるのは、ネットワークコールを監視し、公開Webサービスが呼び出されているかどうかを確認することです。 jsonまたはxmlデータを調べる




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ