【发布时间】:2020-03-12 22:24:18
【问题描述】:
我正在尝试使用 CSS 选择器从网站上抓取特定数据。我在 QHar 的帮助下取得了成功,但现在的要求已经改变。这是我下面的代码:
代码
Public Sub CompanyData2()
Dim html As HTMLDocument, ws As Worksheet, re As Object
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "\s{2,}"
Set ws = ThisWorkbook.Worksheets("Sheet1")
Set html = New HTMLDocument
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://www.bizi.si/iskanje?q=", False
.send
html.body.innerHTML = .responseText
End With
ws.Range("A4").Value = re.Replace(Join$(Array(html.querySelector("td.item a").innerText), ", "), Chr$(32))
ws.Range("A5").Value = re.Replace(Join$(Array(html.querySelector("td.item + td.item").innerText), ", "), Chr$(32))
ws.Range("B6").Value = re.Replace(Join$(Array(html.querySelector("td.item + td.item + td.item + td.item").innerText), ", "), Chr$(32))
End Sub
结果如下:
网站
我想像这样在表格 1 A3 上提取公司名称:
谢谢。
【问题讨论】:
-
请使用sn-p工具通过edit分享html我们可以用来测试
-
您传递给 url 末尾以获得如图所示的最终输出的值是多少?我们是否可以至少有两个具有预期输出的示例输入,因为看起来 html 在我的测试中可能会有所不同,
-
我可以找到并返回 REPROMAT d.o.o.但不是您显示的全名。
-
好的。我弄清楚了实际发生的事情
-
请尝试编辑后的答案。
标签: html excel vba web-scraping css-selectors