Visual Basic 및 HTML 민첩성 팩

html-agility-pack vb.net visual-studio-2012

문제

나는 야후에서 페이지의 제목을 끌어 내려고 노력하고있어.

http://finance.yahoo.com/q?s=plug

나는 Symbol이 URL을 생성한다는 것을 사용자에게 묻는다 : http://finance.yahoo.com/q?s=plug

이 프로그램은 같은 페이지의 로컬 .html을로드 할 때 훌륭하게 작동합니다 ...

여기 내 코드가 있습니다 :

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim symbol As String, htmldoc As New HtmlDocument
    symbol = TextBox3.Text
    htmldoc.Load("http://finance.yahoo.com/q?s=plug")
    Dim items = htmldoc.DocumentNode.SelectNodes("//head/title").Select(Function(node) New KeyValuePair(Of String, String)(node.InnerText, node.InnerText))

    For Each item As KeyValuePair(Of String, String) In items
        Console.WriteLine(item.Key)
        Console.WriteLine(item.Value)
    Next

End Sub

누구나 내가이 일을 어떻게 얻을 수 있는지에 대해 알고있다? 나는 결국 주가 등을 끌어 내고 싶다.

나는 또한 내가 성취하려는 일을하는 더 쉬운 길을 배우기 위해 노력하고있다. KeyValuePair 등을 사용하는 대신 ... 그냥 마침내 또 다른 질문에 맞닥 뜨리게되었습니다.

감사.

인기 답변

웹 URL을 HtmlWebHtmlWeb 클래스를 사용하여 문서를로드해야합니다. HtmlDocument.Load 메서드는 로컬 파일 (또는 스트림)에서만 읽을 수 있습니다. "url에서 읽을 수 없습니다"또는 "지원되지 않는 url"라인을 따라 오류가 표시됩니다.

Dim url = "http://finance.yahoo.com/q?s=plug"
Dim web = new HtmlWeb
Dim doc = web.Load(url)
Dim titleNode = doc.DocumentNode.SelectSingleNode("/html/head/title")
Dim title As String
If titleNode IsNot Nothing Then
    title = titleNode.InnerText
End If



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.