public Report GetReport(RequestManager requestManager, int village, int reportItemId) { var html = GetReportHtml(requestManager, village, reportItemId); var topLevelTableRows = html.Select("table.vis tbody tr td.nopad table.vis:nth-child(2) tr").ToList(); var title = HtmlParse.GetElementFromHtmlTable(topLevelTableRows, 0, 1).InnerText.Trim(); var timeReceived = HtmlParse.GetElementFromHtmlTable(topLevelTableRows, 1, 1).InnerText.Trim(); var reportDataEle = HtmlParse.GetElementFromHtmlTable(topLevelTableRows, 2, 0); var luckStr = reportDataEle.Cq()["#attack_luck tbody tr"].Text().Trim(); var luck = RegExHelper.GetdoubleWithRegEx(@"(-?\d+\.\d+)%", luckStr); var report = new Report(); report.Attacker = GetAttackInfo(reportDataEle.Cq(), true); report.Defernder = GetAttackInfo(reportDataEle.Cq(), false); report.Title = title; report.TimeReceived = timeReceived; report.Id = reportItemId; report.AtteckersLuck = luck; return(report); }