私はC#のWebページからテキストを取りたいと思っています。
私はHTMLを取得したくない、私はWebページの実際のテキストをオフにします。 「<b>cake</b>
」と入力した場合と同様に、タグではなくケーキが必要です。ウェブページからテキストを取り除くには?
答えて
HTMLアジリティパックライブラリを使用します。
あなたの要件は、このコードを使用するために、解析HTMLのための非常に細かいライブラリです:
HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("Yor Path(local,web)");
var result=doc.DocumentNode.SelectNodes("//body//text()");//return HtmlCollectionNode
foreach(var node in result)
{
string AchivedText=node.InnerText;//Your desire text
}
これは非常に良い答えです!ありがとう。 –
:
// You can import System.Text.RegularExpressions for convenience, of course.
System.Text.RegularExpressions.Regex tag = new System.Text.RegularExpressions.Regex("\<.+?\>");
myHTML = tag.Replace(myHTML, String.Empty);
しかし、あなたは、よく構造化データを大量に取得する必要がある場合、あなたは良いかもしれませんHTMLライブラリを使用してオフにします。 (WebページがXHTMLの場合は、すべてのより良い - System.Xml
クラスを使用します。)
をhttp://htmlagilitypack.codeplex.com/と同様に、例えば。
JavaScriptからデータを取得しようとしている場合、またはデータが要素の属性内にあり、山括弧を含む場合は、意図しない副作用が発生する可能性があります。また、&
のようなエスケープシーケンスを受け入れる必要があります。
RegExがうまくいくとは思わない。あなたは、タグの一部ではなく、HTML、CSS、Javascriptの文字列定数などに現れることができる山括弧を使うことができます。これを行う唯一の方法は、HTMLパーサーで行うことです。 –
@MikeChristensen:それで、私は「単純な例」と「大量」と言っていたのです。 OPにほんの少ししか必要がない場合は、プロジェクトに本格的なパーサを含める必要はありません。さらに、JavaScriptはデータの解析には含まれないことが多いですが、CSSは間違いなく... – Ryan
それはあなたが意味していたことです。私はそれをより明示的に指摘したいと思っていました。 –
それは依存します。 アプリケーションがWebBrowserコンポーネントを使用してWebページをダウンロードする場合、そのコンポーネントは(Internet Explorerのように)バックグラウンドで自動的に解析を行います。 DOMツリーを歩き、必要なテキストを抽出するだけです。 HtmlElement.InnerText propertyが特に便利です。
- 1. URLからテキストを取り除く
- 2. アクセスクエリからテキストを取り除く
- 3. ウェブページからポリマー元素を正しく取り除く方法
- 4. Java - ウェブページからのテキストを取得
- 5. Perlを使用してWebページからテキストを取り除く
- 6. Excel 2007:セルからテキストの制限を取り除く
- 7. Java XPath APIテキストからHTMLタグを取り除く
- 8. swift 3 textから大量のテキストを取り除くファイル
- 9. ワンクリックでテキストフィールドからテキスト全体を取り除く
- 10. djangoのテキスト入力からhtml/javascriptを取り除く方法
- 11. 純粋な豆から崇高なテキストを取り除くIDE
- 12. テキスト領域から余白を取り除く方法
- 13. Python + BeautifulSoup:テキストに基づいてHTMLからラッパーを取り除くには?
- 14. テキストの余白を取り除く
- 15. PHP:テキスト内に 記号を取り除くには?
- 16. ScalaのXML文字列からテキストを取り除く方法は?
- 17. ビットマップに描画されているテキストからアーティファクトを取り除く方法
- 18. ウェブページから文字列にテキストを取得する
- 19. アイソトープコンテナからアイテムを取り除く
- 20. DatePickerからtextinputを取り除く
- 21. Mac OSXからSaltstackを取り除く
- 22. arraylistからオブジェクトを取り除くnull
- 23. 3Dサーフェスプロットから床を取り除く
- 24. 座標からオブジェクトを取り除く
- 25. OpenCVバイナリイメージから湾を取り除く
- 26. テキストファイルからデータを取り除く
- 27. mongoデータベースからシャードを取り除く
- 28. foreachから重複を取り除く
- 29. OpenCVマットからカラムを取り除く
- 30. コンボボックスからアイテムを取り除く?
HTMLアジャイルパックなどのHTMLパーサーを確認してから、DOMをループして繰り返し、各要素からテキストを抽出します。 –
http://htmlagilitypack.codeplex.com/ – John