Excel宏-使用Excel数据刮取HTML页面

Excel宏-使用Excel数据刮取HTML页面,html,excel,web-scraping,vba,Html,Excel,Web Scraping,Vba,和其他许多问题一样,我对使用Excel宏和HTML非常陌生 我正在构建一个表,其中包含来自地下城和龙DnD的项目条目,我希望从特定网页获取这些项目的描述:。例如,我的表中的一个条目是Adamantine Armor,因此我希望宏在网页上搜索该列表,刮去在网页上输入的描述,并将其保存到excel文档中。在这种情况下,根据5esrd网页的具体说明如下: 盔甲中等或重型,但不隐藏,不常见 这套盔甲用金刚砂加固,金刚砂是现存最坚硬的物质之一。当你戴着它时,任何对你的致命一击都会变成正常一击 在该页面上,

和其他许多问题一样,我对使用Excel宏和HTML非常陌生

我正在构建一个表,其中包含来自地下城和龙DnD的项目条目,我希望从特定网页获取这些项目的描述:。例如,我的表中的一个条目是Adamantine Armor,因此我希望宏在网页上搜索该列表,刮去在网页上输入的描述,并将其保存到excel文档中。在这种情况下,根据5esrd网页的具体说明如下:

盔甲中等或重型,但不隐藏,不常见

这套盔甲用金刚砂加固,金刚砂是现存最坚硬的物质之一。当你戴着它时,任何对你的致命一击都会变成正常一击

在该页面上,所有项目都是指向页面的链接,这些页面按剑、魔杖等类型进行分组。。我想在Excel中遍历我的项目行,在页面上搜索该项目,并将其描述刮到我的Excel表中

我一直在关注这个页面:,它从stackoverflow的主页上抓取数据。它直接针对网页用来组织其条目的一些表。我尝试使用的DnD页面不会像这样将其条目组织到表中,因此我对如何继续有点不知所措


如果有人能帮我指出正确的方向,我将非常感激

这是我用来在公司网站上抓取网页的代码。我把我所有的数据都放在B栏,所以做相应的调整。这应该让你开始

Sub TestScrape()
'   SCRAPE A WEB PAGE
Dim ieDoc As New HTMLDocument 'ieDocDocument
Dim tdCollection As Object 'table that has the javascript attributes and contains the element I want to click
Dim AnchorLinks As Object
Dim tdElements As Object
Dim tdElement As Object
Dim AnchorLink As Object
Dim lRow As Long
Dim ie As InternetExplorer
Dim cls As IHTMLElementCollection

Set ie = New SHDocVw.InternetExplorer
 With ie
   .Visible = True
   .Left = 0
   .TheaterMode = True   '<<-- Comment this out if you don't want Theater Mode
   .Navigate url:="Enter your URL here"

   While .ReadyState < 4 Or .Busy:  DoEvents:  Wend

 End With

        Application.Wait Now + TimeSerial(0, 0, 4)


ieDoc.body.innerHTML = ie.Document.body.innerHTML

With ieDoc.body
    Set AnchorLinks = .getElementsByTagName("table")
    Set tdElements = .getElementsByTagName("td") '

    For Each AnchorLink In AnchorLinks
        Debug.Print AnchorLink.innerText
    Next AnchorLink

End With

lRow = 1
   For Each tdElement In tdElements
      Debug.Print tdElement.innerText
      Cells(lRow, 2).Value = tdElement.innerText
      lRow = lRow + 1
   Next
     Application.Wait (Now + TimeValue("0:00:1"))
 With ie
  .TheaterMode = False
  .Quit
 End With
Set ie = Nothing

End Sub

谢谢你的建议!我已经添加了一些关于我到底想要什么的细节,我希望这能帮助解释我想要做什么。谢谢,我将给它一个挥杆,看看我如何使用它,使它符合我的需要。