【发布时间】:2018-01-13 17:52:42
【问题描述】:
我想从网页导入 html,然后解析它并从元素中检索 http 链接。我能够抓取 html 并将其放入字符串中。另外,如果我有 xml 格式的 html,我可以为每个循环执行一个来检索数据。但我无法弄清楚如何获取 html 字符串并使其可以被 LINQ 读取。我想我在这里遗漏了一些简单的部分。
Sub GetTest()
Dim source As String = "http://gd2.mlb.com/components/game/mlb/year_2018/month_03/day_29/"
Dim Client As New WebClient
Dim html As String = Client.DownloadString(source)
Dim xml = XElement.Parse(html)
Dim links = From link In xml...<a>
For Each link In links
MessageBox.Show(link.@href)
Next
End Sub
【问题讨论】:
-
这和your last question有什么不同?
-
我的最后一个问题得到了解答。我能够从不同的页面解析 xml。这个是html的,好像不太一样。
-
你应该通过 NuGet 安装 HtmlAgilityPack,
-
Html 不是标准 Xml。诸如未闭合标签
<br>之类的东西以及a < 5之类的简单javascript 表达式可能会破坏解析器。这就是 HtmlAgilityPack 存在的原因。
标签: html vb.net linq linq-to-xml