HTMLAgilityPack을 사용하여 HTML 페이지를 구문 분석하고 있습니다. 그러나 어떤 점에서 나는 틀린 데이터 (이 특별한 경우에는 이미지)를 분석하려고하는데, 그 이유는 분명하지 않습니다.VB.Net에서 HTMLAgilitypack의 오류 방지
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 객체 참조에서 발생 유형의 첫 번째 예외는 아닌 개체의 인스턴스로 설정합니다. 내용에
내가 ޥ + : 80 ×
내용이 있는지 여부를 확인하는 방법 ' parse-able '오류를 방지하기 위해 구문 분석하기 전에?
지금은 오류 팝업을 만드는 이미지이지만 (x) html이 아닌 것으로 생각됩니다. 사전 흐름 위대한 사회 :
와우. 이것은 대단합니다. 나는 아직 그것을 테스트하지 않았지만, 나는이 질문과 내가 묻지 않은 또 다른 질문에 당신이 대답했다고 생각한다! 내 Webrequest의 응답 유형과 내용 유형을 확인하는 방법을 궁금해했고 그 방향으로 나를 지적했다고 생각합니다. 지금 테스트 해보세요! – PeeHaa