Vba 从某个网站上抓取名字时遇到麻烦
我遇到过这样一个网页,在我看来有点误导 刮。当我转到地址“”时,它会将我带到带有“suchen”选项的页面。单击“suchen”后,它会在此选项卡中打开一个新布局,并将我带到一个包含许多名称的页面。因此,站点地址还是相同的“”。 我想删掉那一页的名字,如“Mitarbeiter für die Leerguttrennung(m/w)”。任何帮助都将不胜感激。 到目前为止我写的是:Vba 从某个网站上抓取名字时遇到麻烦,vba,web-scraping,Vba,Web Scraping,我遇到过这样一个网页,在我看来有点误导 刮。当我转到地址“”时,它会将我带到带有“suchen”选项的页面。单击“suchen”后,它会在此选项卡中打开一个新布局,并将我带到一个包含许多名称的页面。因此,站点地址还是相同的“”。 我想删掉那一页的名字,如“Mitarbeiter für die Leerguttrennung(m/w)”。任何帮助都将不胜感激。 到目前为止我写的是: Sub WebData() Dim http As New MSXML2.xmlhttp60 Di
Sub WebData()
Dim http As New MSXML2.xmlhttp60
Dim html As New htmldocument, source As Object, item As Object
With http
.Open "GET", "https://jobboerse2.arbeitsagentur.de/jobsuche/?s=1", False
.send
html.body.innerHTML = .responseText
End With
Set source = html.getElementsByClassName("ng-binding ng-scope")
For Each item In source
x = x + 1
Cells(x, 1) = item.innerText
Next item
Set html = Nothing: Set source = Nothing
End Sub
根据开发者工具中的xhr,链接会像这样递增,但无法计算最后一个链接的数量
“”
""
""
""
“”当您按下
搜索
按钮时,会向服务器发送一个请求,并以json
的形式返回数据。然后,这些数据将显示在网格中。Sou您可以尝试的是先以编程方式按下search
按钮,等待数据显示在网格中,然后按类名过滤元素。对,您就是sir dee。我一开始也注意到了它,但我想不起使用xmlhttp请求方法来单击该按钮,所以不能再进一步了。谢谢。是的,但你可以尝试使用IE对象。然后可以单击。或者您可以直接拨打https://jobboerse2.arbeitsagentur.de/jobsuche/pc/v1/jobs?FCT.AKTUALITAET=100&FCT.ANGEBOTSART=ARBEIT&FCT.BEHINDERUNG=AUS
以及您自己在VBA中返回的json
。感谢dee爵士的回复。你离我要找的东西很近。我还找到了一个“”。但是,是否有任何方法可以获取所有链接(如您和我的链接),以便我最终可以使用json或jscript使用这些链接,因为您知道该页面具有延迟加载方法?哦,是的,您是对的,该页面不会一次显示所有结果,因为可能会有很多项。相反,结果是按零件加载。当您查看url时,您会看到这样的查询字符串参数&offset=12
。此参数的值范围为12、24、36、48、50等,因此在12个记录步骤中。因此,您必须有一个循环,并为每个调用发送更改此参数offset
的请求。当结果为空(或者可能发生错误???)时,您到达了数据的末尾,并且知道服务器上没有其他数据。