Example #1
0
 public void ParseAttackRang()
 {
     string pageSource = Misc.ReadContent("..\\..\\..\\Samples\\TestFiles\\statistiken.attack.php");
     HtmlParser htmlParser = new HtmlParser(pageSource);
     PlayerData playerData = new PlayerData();
     htmlParser.ParseAttackRang(playerData, "jeza");
     Assert.AreEqual("jeza", playerData.Name);
     Assert.AreEqual(18145, playerData.AttackPoints);
     Assert.AreEqual(23, playerData.AttackRang);
     Assert.AreEqual(2242, playerData.Population);
     Assert.AreEqual(4, playerData.VillageCount);
 }
Example #2
0
        public void ParseAttackRang(PlayerData playerData,
            string username)
        {
            /*
            <tr>
            <td class="right nbr">21.&nbsp;</td>
            <td class="s7"><a href="spieler.php?uid=4133">bokson</a></td>
            <td>4051</td>
            <td>7</td>
            <td>17893</td>
            </tr>

            <tr class="hl" >
               <td class="ra  fc" >5345.</td>
               <td class="pla " ><a href="spieler.php?uid=10850">jezonsky</a> </td>

               <td class="pop " >336</td>
               <td class="vil " >2</td>
               <td class="po  lc" >0</td>
              </tr>

             * */
            //const string patternRang =
            //    @"<td class=""(.*)"">([0-9]{0,6}).&nbsp;</td>[\s]{0,3}<td class=""(.*)""><a href=""spieler.php.uid=([0-9]{0,6})"">(.*)</a></td>[\s]{0,3}<td(\sclass=""(.*)"")?>([0-9]{0,6})</td>[\s]{0,3}<td(\sclass=""(.*)"")?>([0-9]{0,6})</td>[\s]{0,3}<td(\sclass=""(.*)"")?>([0-9]{0,6})</td>";
            const string patternRang =
                @"<td class=""ra  fc"" >([0-9]{0,6}).</td>[\s]{0,4}<td class=""pla "" ><a href=""spieler.php.uid=([0-9]{0,6})"">(.*)</a> </td>[\s]{0,5}<td class=""pop "" >([0-9]{0,6})</td>[\s]{0,5}<td class=""vil "" >([0-9]{0,6})</td>[\s]{0,5}<td class=""po  lc"" >([0-9]{0,6})</td>";
            MatchCollection rangCollection =
                Regex.Matches(pageSource, patternRang);
            for (int i = 0; i < rangCollection.Count; i++)
            {
                string name = rangCollection[i].Groups[3].Value.Trim();
                if (name == username)
                {
                    playerData.Name = name;
                    playerData.AttackRang = Int32.Parse(rangCollection[i].Groups[1].Value.Trim());
                    playerData.Population = Int32.Parse(rangCollection[i].Groups[4].Value.Trim());
                    playerData.VillageCount = Int32.Parse(rangCollection[i].Groups[5].Value.Trim());
                    playerData.AttackPoints = Int32.Parse(rangCollection[i].Groups[6].Value.Trim());
                    break;
                }
            }
        }
Example #3
0
        private void GetStats(ServerInfo serverInfo,
            int number,
            string username,
            AlianceData data)
        {
            PlayerData playerData = new PlayerData {Number = number};
            //rank=&name=jasa&submit.x=7&submit.y=8&submit=submit
            string postData = String.Format("&rank=1&name={0}&submit.x=7&submit.y=8&submit=submit", username);
            textBoxStatus.Text += postData + "\r\n";
            string pageSource = Http.SendData(serverInfo.StatistikAttack, postData, serverInfo.CookieContainer,
                                              serverInfo.CookieCollection);
            HtmlParser htmlParser = new HtmlParser(pageSource);
            htmlParser.ParseAttackRang(playerData, username);

            postData = String.Format("&rank=1&name={0}&submit.x=7&submit.y=8&submit=submit", username);
            textBoxStatus.Text += postData + "\r\n";
            pageSource = Http.SendData(serverInfo.StatistikDefense, postData, serverInfo.CookieContainer,
                                       serverInfo.CookieCollection);
            htmlParser = new HtmlParser(pageSource);
            htmlParser.ParseDefenseRang(playerData, username);

            postData = String.Format("?rank=1&name={0}&submit.x=7&submit.y=8&submit=submit", username);
            pageSource = Http.SendData(serverInfo.StatistikRang, postData, serverInfo.CookieContainer,
                                       serverInfo.CookieCollection);
            htmlParser = new HtmlParser(pageSource);
            htmlParser.ParseRang(playerData, username);

            data.AddPlayerData(playerData);
            textBoxStatus.Text += playerData + "\r\n";
        }
Example #4
0
        public void ParseRang(PlayerData playerData,
            string username)
        {
            /*
            <td class="li ou nbr" align="right">161.&nbsp;</td>
            <td class="s7 ou"><a href="spieler.php?uid=9500">jeza</a></td>
            <td class="ou"><a href="allianz.php?aid=1467">FOR</a></td>

              <tr class="hl" >
               <td class="ra  fc" >1374.</td>
               <td class="pla " ><a href="spieler.php?uid=10850">jezonsky</a> </td>

               <td class="al " ><a href="allianz.php?aid=355">Legacy</a></td>
               <td class="pop " >337</td>
               <td class="vil  lc" >2</td>
              </tr>
             * */
            const string patternRang =
                @"<td class=""ra  fc"" >([0-9]{0,6}).</td>[\s]{0,4}<td class=""pla "" ><a href=""spieler.php.uid=([0-9]{0,6})"">(.*)</a> </td>[\s]{0,5}<td class=""al "" ><a href=""allianz.php.aid=([0-9]{0,6})"">(.*)</a></td>";
            MatchCollection rangCollection =
                Regex.Matches(pageSource, patternRang);
            for (int i = 0; i < rangCollection.Count; i++)
            {
                string name = rangCollection[i].Groups[3].Value.Trim();
                if (name == username)
                {
                    playerData.Name = name;
                    playerData.Rang = Int32.Parse(rangCollection[i].Groups[1].Value.Trim());
                    playerData.Aliance = rangCollection[i].Groups[5].Value.Trim();
                    break;
                }
            }
        }