public static void getRank() { var personFaker = new Faker<RandomUA>() .RuleFor(x => x.userAgent, x => x.Internet.UserAgent()); bool hasFound = false;//是否在前10页 string keyword = "朗黛医疗";//要查询的关键词 string domain = "langdy.cn";//要查询的域名 string userAgent = personFaker.Generate().userAgent;// "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"; Stopwatch sw = new Stopwatch(); sw.Start(); for (int pn = 1; pn <= 10; pn++) { string url = "https://www.baidu.com/s?wd=" + HttpUtility.UrlEncode(keyword) + "&pn=" + (pn - 1) * 10 + "&oq=" + HttpUtility.UrlEncode(keyword) + "&tn=baiduhome_pg&ie=utf-8&rsv_idx=2&rsv_pq=d09ea91a000533ad&rsv_t=a741enhrt8jcViHd/8Q+gb0DnCzjIbctyKmpOkRk6BibYwnyQXvHFSqrZtTKeUHQlE4s"; string pagesource = GetWebRequest(url, userAgent, Encoding.UTF8, out int code); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(pagesource); HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//div[@class='result c-container xpath-log new-pmd']"); if (nodes != null) { foreach (var node in nodes) { string pageUrl = node.Attributes["mu"].Value; if (pageUrl.Contains(domain)) { hasFound = true; Console.WriteLine("排名:" + ((pn - 1) * 10 + nodes.IndexOf(node) + 1) + ",链接:" + pageUrl); break; } } } if (hasFound) { break; } } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); Console.ReadKey(); }
标签:string,C#,关键词,personFaker,查询,域名,userAgent From: https://www.cnblogs.com/wzf-Learning/p/16590646.html