我试图在Excel 2013中使用VBA从县网站上抓取网页数据。我是新手,感觉我的代码甚至不值得发帖,但我希望我可以通过我的一般方法得到一些帮助。
示例搜索字词引导我进入following URL
如果我点击"下一步",则需要here
我一次仅限于20个搜索结果,它看起来像" Next"按钮会将我带到类似的网址,但使用"& startrow ="参数设置为大于上一页的20。
如果我想复制所有页面中的所有数据,我是否需要关注"& startrow ="为了正确循环?如果是这样,最好的方法是什么?
答案 0 :(得分:0)
我会循环和刮擦,直到我再也找不到Next
按钮,这意味着:
buttonFound = True '<-- False if we don't find --> break the loop
While buttonFound '<-- while we have a "Next" button
'scrape data then click next
Set allLinks = ie.getElementsByTagName("a")
buttonFound = False
For Each btn In allLinks '<-- search the button
If btn.innerText = "Next"
buttonFound = True '<-- if you find it, you will have to look for it next time
Set btnNext = btn
Exit For
End If
Next btn
btn.Click '<-- go to next page and try again
Wend
我不会过分依赖URL,因为它可能包含来自后端的底层逻辑;相反,作为前端用户处理问题(即只要我看到&#34;下一步&#34;按钮,我点击它然后我刮掉另一页)。