/// <summary> /// 获取首页热词,排行和热度 /// </summary> /// <returns></returns> public async Task <List <HotWord> > GetTopWordsAsync() { string url = "http://weixin.sogou.com/"; string text = await _browser.GetPageWithoutVcodeAsync(url); //netHelper.Get(headers, url, "UTF-8"); var pageDoc = new HtmlDocument(); pageDoc.LoadHtml(text); var targetArea = pageDoc.DocumentNode.SelectNodes("//*[@id='topwords']/li"); var listTopWords = new List <HotWord>(); var hotWord = new HotWord(); foreach (var li in targetArea) { try { hotWord.Rank = Convert.ToInt16(li.SelectSingleNode("i").InnerText); hotWord.Word = li.SelectSingleNode("a").InnerText; hotWord.JumpLink = li.SelectSingleNode("a").GetAttributeValue("href", ""); hotWord.HotDegree = Convert.ToInt16(li.SelectSingleNode("span/span").GetAttributeValue("style", "") .Replace("width:", "").Replace("%", "").Trim()); listTopWords.Add(hotWord); } catch (Exception e) { _logger.Debug(e); } } return(listTopWords); }
/// <summary> /// 获取首页热词,排行和热度 /// </summary> /// <returns></returns> public List <HotWord> GetTopWords() { string url = "http://weixin.sogou.com/"; WebHeaderCollection headers = new WebHeaderCollection(); headers.Add("Host", "weixin.sogou.com"); headers.Add("Referer", "http://weixin.sogou.com/"); HttpHelper netHelper = new HttpHelper(); string text = netHelper.Get(headers, url, "UTF-8"); HtmlDocument pageDoc = new HtmlDocument(); pageDoc.LoadHtml(text); var targetArea = pageDoc.DocumentNode.SelectNodes("//*[@id='topwords']/li"); List <HotWord> listTopWords = new List <HotWord>(); foreach (var li in targetArea) { HotWord hotWord = new HotWord(); try { hotWord.Rank = Convert.ToInt16(li.SelectSingleNode("i").InnerText); hotWord.Word = li.SelectSingleNode("a").InnerText; hotWord.JumpLink = li.SelectSingleNode("a").GetAttributeValue("href", ""); hotWord.HotDegree = Convert.ToInt16(li.SelectSingleNode("span/span").GetAttributeValue("style", "").Replace("width:", "").Replace("%", "").Trim()); listTopWords.Add(hotWord); } catch (Exception e) { logger.Debug(e); } } return(listTopWords); }