获取网页keywords?
发布网友
发布时间:2022-05-24 19:20
我来回答
共5个回答
热心网友
时间:2023-08-23 13:47
你把int sp = html.IndexOf("name=keywords");
改成int sp = html.IndexOf("name=\"keywords\"");
和int sp = html.IndexOf("name=\"Keywords\"");
试试追问试了 不行 因为链接是动态读的 不是固定的 所以这个网页的keywords部分是这样的 换一个就那样了。你说的这是固定链接写法。
追答你把三种方法都用上,加个判断试试(就这三种,不会再有其他的样子了吧)
热心网友
时间:2023-08-23 13:48
使用正则表达式去匹配
热心网友
时间:2023-08-23 13:48
html.ToLower().Replace('"','').IndexOf("name=keyworkds");
热心网友
时间:2023-08-23 13:49
上面那个答案可以的啊
热心网友
时间:2023-08-23 13:50
正则表达式通用版
using (System.Net.WebClient wc = new System.Net.WebClient())
{
string html = wc.DownloadString("任意网址");
string pattern = "<meta [^>=]*name\\s*=\\s*keywords[^>]*>";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Match m = regex.Match(html);
if (m.Success)
{
string metaKeywords = m.Groups[0].Value;
pattern = "content\\s*=\\s*\"?([^\"]*)\"?[^>]*>";
regex = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
m = regex.Match(metaKeywords);
if (m.Success)
{
string 关键词 = m.Groups[1].Value;
}
else
{
//没有关键词
}
}
else
{
//没有关键词
}
}来自:求助得到的回答