C#查询指定关键词和域名的百度搜索排名

 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();
        }

 

posted @ 2022-08-16 10:07  极客船长  阅读(169)  评论(0编辑  收藏  举报