0

正規表現を使用して html メタ キーワードを解析する必要があります。ソース文字列は常に次のような同じ形式です。

<meta name="description" content="description text">
<meta name="keywords" content="Keyword1, Keyword2, Keyword3...">
<link rel="alternate" type="application/xml+rss" href="http://example.com/rss">

Keyword1、Keyword2、Keyword3 を List < string > として取得することはありません

4

3 に答える 3

1

正規表現は、HTML ファイルの解析には適していません。

HTML は厳密ではなく、その形式も規則的ではありません。

htmlagilitypackを使用する

このコードを使用して、次を使用してすべてのキーワードを取得できますHtmlAgilityPack

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://yourWebSite.com");

List<String> keyLst= doc.DocumentNode
                        .SelectSingleNode("//meta[@name='keywords']")
                        .Attributes["content"].Value
                        .Split(',').ToList();

keyLstすべてのキーワードが含まれるようになりました

于 2013-05-24T15:32:22.447 に答える
0

これを回答として送信する代わりにコメントできればいいのですが、担当者が低すぎます:(

時々正規表現を実行する必要があることは理解していますが、他の誰もが推奨しているように、標準の XML または HTML パーサーを使用することをお勧めします。意図しない入力変動を含むという点でより安全であり、さらに高速になる可能性があります。

参照: https://stackoverflow.com/a/701177/1002098

于 2013-05-24T15:39:24.103 に答える