4

こんにちは、C# でデータ スクレイピング アプリケーションに取り組んでいます。

実際には、すべての表示テキストを取得したいのですが、html タグは取得したくありません。

これが私のコードです

HtmlWeb web  = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.
   Load(@"http://dawateislami.net/books/bookslibrary.do#!section:bookDetail_521.tr");
string str =  doc.DocumentNode.InnerText;

この内側の html もいくつかのタグとスクリプトを返していますが、ユーザーに表示される表示テキストのみを取得したいと考えています。私を助けてください。ありがとう

4

3 に答える 3

0

JavaScript と CSS を削除するには:

foreach(var script in doc.DocumentNode.Descendants("script").ToArray())
    script.Remove();
foreach(var style in doc.DocumentNode.Descendants("style").ToArray())
    style.Remove();

コメントを削除するには (未テスト):

foreach(var comment in doc.DocumentNode.Descendants("//comment()").ToArray())
    comment.Remove()
于 2013-10-26T08:27:02.440 に答える
0

文字列からすべての html タグを削除するには、次を使用できます。

String output = inputString.replaceAll("<[^>]*>", "");

特定のタグを削除するには:

String output = inputString.replaceAll("(?i)<td[^>]*>", "");

それが役に立てば幸い :)

于 2013-10-26T10:22:53.410 に答える