public async Task<List<SubLepra>> GetUnderground(int? page = null) { if (_cookieContainer == null) FillCookies(); var handler = new HttpClientHandler { CookieContainer = _cookieContainer }; var client = new HttpClient(handler); var htmlData = await client.GetStringAsync("http://leprosorium.ru/underground/subscribers/" + page.GetValueOrDefault(1)); htmlData = Regex.Replace(htmlData, "\n+", ""); htmlData = Regex.Replace(htmlData, "\r+", ""); htmlData = Regex.Replace(htmlData, "\t+", ""); var subRegex = "<strong class=\"jj_logo\"><a href=\"(.+?)\"><img src=\"(.+?)\" alt=\"(.*?)\" />.+?<a href=\".*?/users/.+?\">(.+?)</a>"; var underground = new List<SubLepra>(); var matches = Regex.Matches(htmlData, subRegex); foreach (Match match in matches) { var subLepra = new SubLepra(); subLepra.Name = match.Groups[3].Success ? match.Groups[3].Value : match.Groups[1].Value; subLepra.Creator = match.Groups[4].Value; subLepra.Link = match.Groups[1].Value; subLepra.Logo = match.Groups[2].Value; underground.Add(subLepra); } return underground; }
private void ProcessMain(string htmlData) { htmlData = Regex.Replace(htmlData, "\n+", ""); htmlData = Regex.Replace(htmlData, "\r+", ""); htmlData = Regex.Replace(htmlData, "\t+", ""); _postVoteWTF = Regex.Match(htmlData, "wtf_vote = '(.+?)'").Groups[1].Value; _myStuffWTF = Regex.Match(htmlData, "mythingsHandler.wtf = '(.+?)'").Groups[1].Value; _chatWtf = Regex.Match(htmlData, "chatHandler.wtf = '(.+?)'").Groups[1].Value; _userName = Regex.Match(htmlData, "<div id=\"greetings\" class=\"columns_wrapper\">.+?<a href=\".+?\">(.+?)</a>").Groups[1].Value; _logoutWTF = Regex.Match(htmlData, "name=\"wtf\" value=\"(.+?)\"").Groups[1].Value; // sub lepra regex var subReg = "<div class=\"sub\"><strong class=\"logo\"><a href=\"(.+?)\" title=\"(.*?)\"><img src=\"(.+?)\" alt=\".+?\" />.+?<div class=\"creator\">.+?<a href=\".*?/users/.+?\">(.+?)</a>"; var subLepraMatches = Regex.Matches(htmlData, subReg); _subLepras = new List<SubLepra>(); foreach (Match match in subLepraMatches) { var subLepra = new SubLepra(); subLepra.Name = match.Groups[2].Value; subLepra.Creator = match.Groups[4].Value; subLepra.Link = match.Groups[1].Value; subLepra.Logo = match.Groups[3].Value; _subLepras.Add(subLepra); } }