2016-03-26 7 views
0

Ich parse Befehlshistorie von Spielen für 2014,2013,2015 Jahre. Sie haben die gleiche Struktur. Aber die Links sind anders.Parsing von 3 Links zur gleichen Zeit htmlagilitypack

var fourthDoc = htmlWeb.Load("http://soccer.net/2014-2015/results/"); 
var fifthDoc = htmlWeb.Load("http://soccer.net/2013-2014/results/"); 
var sixthDoc = htmlWeb.Load("http://soccer.net/2015-2016/results/"); 

Sein, wie ich Daten analysieren:

 var Games = 
       fourthDoc.DocumentNode.SelectNodes("@class = 'abc'").Select(a => new Game() 
       { 
        Date = a.SelectNodes("./a/div/div[1]/span").Single().InnerText.Trim(), 
        //.... 
       }); 

Modell:

public class Game 
    { 
      public int Id {get;set;} 
      public DateTime Date { get; set; } 
      public string FirstTeam { get; set; } 
      public string SecondTeam { get; set; } 
    } 

Wie die drei Verbindungen in einem Pfad verbinden? Zum Beispiel

var fourthDoc = htmlWeb.Load("http://soccer.net/2014-2015/results/"+"http://soccer.net/2013-2014/results/"+"http://soccer.net/2015-2016/results/"); 
+0

Bitte erläutern Sie Ihre Frage mehr; "Wie man die zwei Verbindungen in einem Weg kombiniert" –

+0

Ich redigierte meine Frage – popov

Antwort

1

Ich bin nicht sicher, aber ich denke, Sie ein Array von Strings (URLs) geben wollen und alle Daten zu analysieren, die von der Website kommen.

Sie sollten so etwas versuchen;

 List<string> urls = new List<string> 
          { 
           "http://soccer.net/2014-2015/results/", 
           "http://soccer.net/2013-2014/results/", 
           "http://soccer.net/2015-2016/results/" 
          }; 

     List<Games> games = new List<Games>(); 
     foreach (string url in urls) 
     { 
      var currentData = htmlWeb.Load("url"); 

      var currentListOfGames = 
       currentData.DocumentNode.SelectNodes("@class = 'abc'").Select(a => new Game() 
                        { 
                         Date = a.SelectNodes("./a/div/div[1]/span").Single().InnerText.Trim(), 
                         //.... 
                        }); 

      games.AddRange(currentListOfGames); 
     } 

Da die htmlweb.Load-Methode von htmlagilitypack nur eine URL pro Anforderung akzeptiert.

Verwandte Themen