gpt4 book ai didi

asp.net - 解析搜索引擎关键词

转载 作者:行者123 更新时间:2023-12-04 23:46:29 24 4
gpt4 key购买 nike

我正在尝试找到最有效的方法来解析我的 System.Web.HTTPRequest.UrlReferrer,以查找用于吸引访问者访问我的网站的搜索词(假设他们通过搜索引擎结果页面到达我的网站)。

我想(希望)我会使用 HttpUtility.ParseQueryString 方法,但我的问题在于试图找出要解析的变量。我有以下需要检查的 list 。该列表显示了搜索引擎和每个搜索引擎使用的参数。

daum:q,
eniro:search_word,
naver:query,
images.google:q,
google:q,
yahoo:p,
msn:q,
bing:q,
aol:query,
aol:encquery,
lycos:query,
ask:q,
altavista:q,
netscape:query,
cnn:query,
about:terms,
mamma:query,
alltheweb:q,
voila:rdata,
virgilio:qs,
live:q,
baidu:wd,
alice:qs,
yandex:text,
najdi:q,
aol:q,
mama:query,
seznam:q,
search:q,
wp:szukaj,
onet:qt,
szukacz:q,
yam:k,
pchome:q,
kvasir:q,
sesam:q,
ozu:q,
terra:query,
mynet:q,
ekolay:q,
rambler:words

所以虽然我可以逐一介绍并说类似的内容

NameValueCollection query = HttpUtility.ParseQueryString(UrlReferrer);
var referrer = Request.UrlReferrer.ToString();

if(referrer.Contains("google.com")
return (query["q"]);
else if(referrer.Contains("yahoo.com")
return (query["p"]);

我想一定有更好的方法,因为我有这个很好的名称/值对来工作,并且有 ParseQueryString 方法的强大功能,但我一片空白。

最佳答案

嗯,我对此并不满意,而且我认为我没有实现效率,但这就是我最终所做的。我仍然很乐意听到你们提出更好的方法。

private string GetKeywords(string urlReferrer)
{
var searchQuery = string.Empty;
var url = new Uri(urlReferrer);
var query = HttpUtility.ParseQueryString(urlReferrer);
switch (url.Host)
{
case "google":
case "daum":
case "msn":
case "bing":
case "ask":
case "altavista":
case "alltheweb":
case "live":
case "najdi":
case "aol":
case "seznam":
case "search":
case "szukacz":
case "pchome":
case "kvasir":
case "sesam":
case "ozu":
case "mynet":
case "ekolay":
searchQuery = query["q"];
break;
case "naver":
case "netscape":
case "mama":
case "mamma":
case "terra":
case "cnn":
searchQuery = query["query"];
break;
case "virgilio":
case "alice":
searchQuery = query["qs"];
break;
case "yahoo":
searchQuery = query["p"];
break;
case "onet":
searchQuery = query["qt"];
break;
case "eniro":
searchQuery = query["search_word"];
break;
case "about":
searchQuery = query["terms"];
break;
case "voila":
searchQuery = query["rdata"];
break;
case "baidu":
searchQuery = query["wd"];
break;
case "yandex":
searchQuery = query["text"];
break;
case "szukaj":
searchQuery = query["wp"];
break;
case "yam":
searchQuery = query["k"];
break;
case "rambler":
searchQuery = query["words"];
break;
default:
searchQuery = query["q"];
break;
}
return searchQuery;
}

关于asp.net - 解析搜索引擎关键词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3984047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com