Html Agility Packを使用してテキストコンテンツを取得する

html html-agility-pack vb.net

質問

私は具体的に努力します。基本的に私はページのテキストコンテンツを抽出することに興味があるvb.netのクローラで作業しています。私の現在のアプリケーションは、次のようにWebブラウザコントロールを使用して、テキストボックスにhtmlソースの本体をダウンロードします:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles Button1.Click
    Dim url As String = "<url>"
    WebBrowser1.Navigate(url)
End Sub

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As    System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    TextBox2.Text = WebBrowser1.Document.Body.OuterHtml
End Sub

ここから、textbox2は、href、img、ads、scriptなどが入ったジャンクhtmlで構成されていますが、これらすべてのメタデータを取得してプレーンテキストを取得する必要があります。

私は正規表現のプロパティを適用してすべての異常を乗り越えることができますが、HAPはhtmlパーサーにとってはるかに適切だと思います。

ここで検索すると、このページに移動しました。このページでは、「メルトダウン」に記載されているホワイトリスト技術

ホワイトリストにないHTMLアジリティパックストリップタグ

しかし、それは素晴らしいアイデアのように思われるので、どのようにvb.netでそれを適用するのですか?

みんなにアドバイスを..........

編集:私は、下記のコードのvb.net版を発見したが、エラーがあるようだ

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles Button1.Click
    Dim url As String = "<url>"
    WebBrowser1.Navigate(url)
End Sub

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As    System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    TextBox2.Text = WebBrowser1.Document.Body.OuterHtml
End Sub

エラー:IsNotには参照型を持つオペランドが必要ですが、このオペランドは整数型の値を持ちます

ここにコードです:

パブリックNotInheritableクラスHtmlSanitizerプライベートSub New()End Subプライベート共有共有のReadOnlyホワイトリストIDictionary(Of String、String())プライベート共有DeletableNodesXpath新しいリスト(Of String)()

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles Button1.Click
    Dim url As String = "<url>"
    WebBrowser1.Navigate(url)
End Sub

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As    System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    TextBox2.Text = WebBrowser1.Document.Body.OuterHtml
End Sub

誰か助けてもらえますか?

人気のある回答

IsNotを使用する代わりに、単に<>使用します。あなたが基本的にチェックしているように、整数の値は別の整数-1の値と等しくありません。

私はIsNotを整数で使うことはできないと信じています。

編集:私はこれがスーパースーパー古いことに気づいた。ちょうど7月26日の日付を見ました!




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ