我想从网页导入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
答案 0 :(得分:1)
在删除第一个未关闭的标记后,可以将此页面解析为Xml:
Dim xml = XElement.Parse(html.Substring(html.IndexOf(">") + 1))
For Each link In xml.Descendants("a")
Console.WriteLine(link.Attribute("href"))
Next
一般来说,尝试解析Html时会出现多个问题,就好像它是标准的Xml一样。所以最好使用HtmlAgilityPack。