C# URL关键字密度检查器API

C# URL关键字密度检查器API,c#,api,keyword,C#,Api,Keyword,有没有免费的API来检查url(或html文档)的关键字密度?我需要它的工作与非英语网址太 这是一个没有api的关键字密度检查器示例: 如果没有免费的API,C#库也可以是我的替代解决方案。更新了 这是菜单 我不确定是否有免费的API,但用C#实现它非常简单 请求HTML using (WebClient client = new WebClient()) { string html = client.DownloadString("http://stackoverflow.com/"

有没有免费的API来检查url(或html文档)的关键字密度?我需要它的工作与非英语网址太

这是一个没有api的关键字密度检查器示例:


如果没有免费的API,C#库也可以是我的替代解决方案。

更新了

这是菜单

我不确定是否有免费的API,但用C#实现它非常简单

请求HTML

using (WebClient client = new WebClient())
{
    string html = client.DownloadString("http://stackoverflow.com/").ToLower();
}
使用正则表达式删除HTML元素。您可以修改它以删除其他元素,例如
元素,只需使用
|
字符添加
]*>[\s\s]*

public static string RemoveHtmlTags(string html)
{
    string htmlRemoved = Regex.Replace(html, @"<script[^>]*>[\s\S]*?</script>|<[^>]+>|&nbsp;", " ").Trim();
    string normalised = Regex.Replace(htmlRemoved, @"\s{2,}", " ");
    return normalised;
}

//remove html elements
html = RemoveHtmlTags(html);
更多黑名单字(大于2个字符,不重要等)-可选

然后按键和计数获取distinct关键字,然后按计数排序

var keywords = list.GroupBy(x => x).OrderByDescending(x => x.Count());

foreach (var word in keywords)
{
    Console.WriteLine("{0} {1}", word.Key, word.Count());
}
这是一个如何查找关键字密度的非常简单的例子,可以在上面进行改进

还有一个名为HtmlAgilityPack的库,它在某种程度上有助于处理html元素


我希望这能有所帮助。

更新

这是菜单

我不确定是否有免费的API,但用C#实现它非常简单

请求HTML

using (WebClient client = new WebClient())
{
    string html = client.DownloadString("http://stackoverflow.com/").ToLower();
}
使用正则表达式删除HTML元素。您可以修改它以删除其他元素,例如
元素,只需使用
|
字符添加
]*>[\s\s]*

public static string RemoveHtmlTags(string html)
{
    string htmlRemoved = Regex.Replace(html, @"<script[^>]*>[\s\S]*?</script>|<[^>]+>|&nbsp;", " ").Trim();
    string normalised = Regex.Replace(htmlRemoved, @"\s{2,}", " ");
    return normalised;
}

//remove html elements
html = RemoveHtmlTags(html);
更多黑名单字(大于2个字符,不重要等)-可选

然后按键和计数获取distinct关键字,然后按计数排序

var keywords = list.GroupBy(x => x).OrderByDescending(x => x.Count());

foreach (var word in keywords)
{
    Console.WriteLine("{0} {1}", word.Key, word.Count());
}
这是一个如何查找关键字密度的非常简单的例子,可以在上面进行改进

还有一个名为HtmlAgilityPack的库,它在某种程度上有助于处理html元素


我希望这有帮助。

谢谢你的回答。但它有点复杂。这样的Html标记不会忽略:。我们还需要用两个词和三个词来提取关键词。我刚刚用一个示例链接更新了我的代码。您可以运行它,它将展示如何获得stackoverflow的简单关键字密度计数。谢谢Nick!我和HtmlAgilityPack一起工作,太棒了!你知道如何找到2到3个单词的关键词吗?我要试试所有的组合词吗?例如:“你好,这是一个美好的一天”,然后我必须检查:“你好,这是”,“是一个”,“一个美好的一天”,“美好的一天”。你几乎可以使用上面的代码来做到这一点。获取短语并删除所有非字母字符,然后将字符串拆分为一个列表。创建一个设置为false的标志,使用迭代器在当前位置和迭代器+1处迭代列表,例如短语[iterator+1],并在删除元素后(在将其拆分为列表之前)将其与提取的html字符串相匹配。我希望这有帮助。如果答案有助于您找到解决方案,请接受。谢谢您的回答。但它有点复杂。这样的Html标记不会忽略:。我们还需要用两个词和三个词来提取关键词。我刚刚用一个示例链接更新了我的代码。您可以运行它,它将展示如何获得stackoverflow的简单关键字密度计数。谢谢Nick!我和HtmlAgilityPack一起工作,太棒了!你知道如何找到2到3个单词的关键词吗?我要试试所有的组合词吗?例如:“你好,这是一个美好的一天”,然后我必须检查:“你好,这是”,“是一个”,“一个美好的一天”,“美好的一天”。你几乎可以使用上面的代码来做到这一点。获取短语并删除所有非字母字符,然后将字符串拆分为一个列表。创建一个设置为false的标志,使用迭代器在当前位置和迭代器+1处迭代列表,例如短语[iterator+1],并在删除元素后(在将其拆分为列表之前)将其与提取的html字符串相匹配。我希望这有帮助。如果答案有助于您找到解决方案,请接受。