【发布时间】:2020-03-16 07:24:47
【问题描述】:
`我正在尝试抓取数据,例如
成立日期、电子邮件地址、地址和董事详细信息 来自https://www.zaubacorp.com/company-list/nic-300-company.html 中的 500 个网站列表,该列表扩展到许多页面。我需要提取网站,这是我在 Excel 中使用 Power Query 完成的,但是从每个网站中提取特定细节在 Power Query 中是一项繁琐的工作。
另外,问题在于电子邮件地址和地址,无法找到类/标签 ID 名称。(这是我最近得到的,但现在我需要大量网站的帮助,代码应该适用于所有人网站(因为它们在特定位置具有相同类型的数据。
Sub GetInfo()
Const URL = "https://www.zaubacorp.com/company/TECHDRIVE-SOFTWARE-LIMITED/U30007DL1999PLC356280"
Dim Html As New HTMLDocument
Dim elem As Object, adr As Object
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.send
Html.body.innerHTML = .responseText
End With
For Each elem In Html.getElementsByTagName("b")
If InStr(elem.innerText, "Email ID:") > 0 Then
[A2] = elem.ParentNode.innerText
Exit For
End If
Next elem
For Each adr In Html.getElementsByTagName("b")
If InStr(adr.innerText, "Address:") > 0 Then
[B2] = adr.ParentNode.NextSibling.innerText
Exit For
End If
Next adr
End Sub
【问题讨论】:
-
Set pages = ie.document Set mtbl = pages.getElementsByTagName("Table")(1) Set table_data = mtbl.getElementsByTagName("tr") 我为维基百科提取数据所做的这个简单代码,但对于禁忌的特定网站,它不起作用,而且我有 500 多个网站分布在许多页面上。在提出任何建议之前,请先查看网站。
-
请不要在 cmets 中发布代码! cmets 中的代码不可读,并且在大多数情况下无用,因为换行符不可见,但它们在 VBA 中很重要。而是将所有属于您的问题的内容放入原始问题部分。你可以edit它来放你的代码或附加信息。
-
@SIM 正如我之前向您解释的那样,先生,我无法投票给您的答案。问题已结束。我再次道歉。
-
@Pᴇʜ 完成先生,我已经附上了我最初的小代码
-
好吧,你不能发布 3 行代码然后等待我们完成你的整个项目(这不是免费的代码编写服务)。你甚至没有告诉代码有什么问题。你的代码有什么问题?
标签: excel vba web-scraping