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