tankcr

Untitled

Jun 16th, 2014
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.83 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net;
  7. using System.IO;
  8. using HtmlAgilityPack;
  9. using System.Xml.Serialization;
  10.  
  11. namespace ROD_Deck_Builder
  12. {
  13.     public class GetPage
  14.     {
  15.         public static Cards GetPageData(string url)
  16.         {
  17.  
  18.             Cards cardstable = new Cards();
  19.             string weburl = url;
  20.             WebClient dl = new WebClient();
  21.             dl.Encoding = Encoding.UTF8;
  22.             string page = dl.DownloadString(weburl);
  23.             HtmlDocument mydoc = new HtmlDocument();
  24.             mydoc.LoadHtml(page);
  25.  
  26.             HtmlNode table = mydoc.DocumentNode.SelectSingleNode("//table[@class='witiable sortable']");
  27.             var tableHeaders = table.SelectNodes("tr[th]/th");
  28.             foreach (var header in tableHeaders)
  29.             {
  30.                 string columnName = header.InnerText.Trim();
  31.             }
  32.  
  33.             var tableRows = table.SelectNodes("tr").OfType<HtmlNode>().Skip(1);
  34.             foreach (var row in tableRows)
  35.            
  36.             {
  37.                
  38.                 //string singleLine;
  39.                 //string[] splitApart = singleLine.Split(',');
  40.                 var rowcolumns = row.SelectNodes("td");
  41.                 foreach (var column in rowcolumns)
  42.                 {
  43.                     string columnValue = column.InnerText.Trim();
  44.                 }
  45.                     Card item = new Card();
  46.                     item.Rarity = Convert.ToString(rowcolumns[0].InnerText).TrimEnd('\r', '\n');
  47.                     item.Name = Convert.ToString(rowcolumns[1].InnerText).TrimEnd('\r', '\n');
  48.                     item.Realm = Convert.ToString(rowcolumns[2].InnerText).TrimEnd('\r', '\n');
  49.                     item.Faction = Convert.ToString(rowcolumns[3].InnerText).TrimEnd('\r', '\n');
  50.                     item.MaxAtk = Convert.ToString(rowcolumns[4].InnerText).TrimEnd('\r', '\n');
  51.                     item.MaxDef = Convert.ToString(rowcolumns[5].InnerText).TrimEnd('\r', '\n');
  52.                     item.Total = Convert.ToInt32(rowcolumns[6].InnerText);
  53.                     item.Cost = Convert.ToInt32(rowcolumns[7].InnerText);
  54.                     item.AttEff = Convert.ToInt32(rowcolumns[8].InnerText);
  55.                     item.DefEff = Convert.ToInt32(rowcolumns[9].InnerText);
  56.                     item.OverallEff = Convert.ToInt32(rowcolumns[10].InnerText);
  57.                     item.Skill = Convert.ToString(rowcolumns[11].InnerText).TrimEnd('\r', '\n');
  58.                     item.EventSkl1 = Convert.ToString(rowcolumns[12].InnerText).TrimEnd('\r', '\n');
  59.                     item.EventSkl2 = Convert.ToString(rowcolumns[13].InnerText).TrimEnd('\r', '\n');
  60.                     cardstable.TableData.Add(item);
  61.             }
  62.            return cardstable;
  63.         }
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment