Я использую HTMLAgilityPack для разбора HTML-страниц.Однако в какой-то момент я пытаюсь проанализировать неправильные данные (в данном конкретном случае - изображение), который по понятным причинам не работает.
Private Sub parseHtml(ByVal content As String, ByVal url As String)
Try
Dim contentHash As String = hashGenerator.ComputeHash(content, "SHA1")
Dim doc As HtmlDocument = New HtmlDocument()
doc.Load(New StringReader(content))
Dim root As HtmlNode = doc.DocumentNode
Dim anchorTags As New List(Of String)
For Each link As HtmlNode In root.SelectNodes("//a")
cururl = link.OuterHtml
If link.Attributes("href") Is Nothing Then Continue For
If Uri.IsWellFormedUriString(link.Attributes("href").Value, UriKind.Absolute) Then
urlQueue.Enqueue(link.Attributes("href").Value)
Else
Dim myUri As New Uri(url)
urlQueue.Enqueue(myUri.Scheme & "://" & myUri.Host & link.Attributes("href").Value)
End If
Next
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error (parseHtml(" & url & "))")
End Try
End Sub
Я получаю ошибку:
Первое случайное исключение типа «System.NullReferenceException» произошло в Webcrawler.exe. Ссылка на объект не установлена для экземпляра объекта.
Для содержимого, которое я пытаюсь проанализировать:
�����I ޥ� + �: 8�0�x�
Как проверить, является ли содержимое «анализируемым», прежде чем анализировать его, чтобы предотвратить ошибку?
Пока это изображение, которое выдает ошибку, однако я думаю, что это может быть что-то, что не является (x) html.
Заранее спасибо, большое сообщество:)