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(); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)