我正试图从雅虎拉出页面标题
http://finance.yahoo.com/q?s=plug
我要求用户为符号创建网址: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问题上工作。
感谢。
答案 0 :(得分:3)
在提取网址时,您应该使用HtmlWeb
类来加载文档。 HtmlDocument.Load
方法只能从本地文件(或流)中读取。您可能会看到“无法从网址读取”或“网址不支持”的错误。
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