Пакет обновления для Visual Basic и HTML

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

Вопрос

Я пытаюсь вытащить титул страницы из yahoo

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 и т. Д. Просто кое-что, что я, наконец, занялся другим вопросом SO.

Благодарю.

Популярные ответы

Когда вы HtmlWeb веб-URL, вы должны использовать класс HtmlWeb для загрузки документов. Метод HtmlDocument.Load может считывать только локальные файлы (или потоки). Вероятно, вы видите ошибку в строке «не можете читать с url» или «url not supported».

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


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow