위키 피 디아 웹 사이트의 테이블에서 데이터를 긁어 내려고했지만 지금까지 참조 할 노드를 찾았습니다. Wikipedia의 표에는 많은 수의 항목이 있지만 앱을 실행하면 12 개의 결과 만 표시되며 모두 동일합니다. 반환 된 모든 결과는 테이블의 첫 번째 항목과 중복됩니다.Htmlagilitypack을 사용하여 위키 피 디아에서 데이터 스크랩하기
수정 방법에 대한 아이디어가 있으십니까?
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string htmlPage = "";
{
htmlPage = await client.GetStringAsync("http://en.wikipedia.org/wiki/List_of_Games_with_Gold_games");
}
HtmlDocument htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlPage);
foreach (var div in htmlDocument.DocumentNode.SelectNodes(".//h2"))
{
GameHistory newGameHistory = new GameHistory();
newGameHistory.historyTitle = div.SelectSingleNode("//i//a").InnerText.Trim();
newGameHistory.historyAdded = div.SelectSingleNode("//span[starts-with(@style, 'white')]").InnerText.Trim();
newGameHistory.historyRemoved = div.SelectSingleNode("(//span[starts-with(@style, 'white')])[2]").InnerText.Trim();
gameHistory.Add(newGameHistory);
}
lstGameHistory.ItemsSource = gameHistory;
}
감사합니다. Tyress, 완벽하게 작동합니다! 가능한 한 다른 것. h2 태그에 포함 된 제목은 Xbox 360 또는 Xbox One의 제목으로 두 개의 개별 목록과 구별됩니다. 어떻게 통합 할 수 있습니까? 모든 게임에 Xbox 360/One 중 하나를 사용하거나 목록을 분할하려면 한 번만 사용하는 것이 좋습니다. 다시 한번 감사드립니다. –
답변을 업데이트하겠습니다. @kkerswell – Tyress
Tyress에게 감사드립니다. 나는 마치 "../preceding-sibling::h2//span[@id='XX_One ']" –