2016-03-26 3 views
0

Я анализирую историю игр за 2014,2013,2015 лет. Они имеют одинаковую структуру. Но ссылки разные.Анализ из 3-х ссылок одновременно 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/"); 

Его, как я анализирую данные:

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

Модель:

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

Как объединить три ссылки в одном пути? Например

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

Пожалуйста, объясните свой вопрос больше; «Как объединить две ссылки по одному пути» –

+0

Я отредактировал мой вопрос – popov

ответ

1

Я не уверен, но я думаю, что вы хотите, чтобы массив строк (URLs) и анализировать все данные, которые будут исходить от веб-сайта.

Вы должны попробовать что-то в этом роде;

 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); 
     } 

Поскольку htmlagilitypack's htmlweb.Load метод принимает только один URL-адрес для запроса.

Смежные вопросы