等待查询表加载到Excel VBA中

问题描述 投票:0回答:1

这里是一个完整的新手。

本质上,我正在尝试抓取房地产网站的某些数据。

以下是代码的作用:1.打开URL(而不是浏览器),然后从页面中获取所有查询表并将其加载到excel工作表中。2.在同一工作簿中创建一个新工作表,然后转到第I页(I从2到4)3.获取查询表并将其放入选项卡。4.循环

我添加了application.waittime(now + timeserial)以在3到7秒之间随机分配一个等待时间,以避免潜在的验证码问题。

理想情况下,我想做的是,直到将查询表加载到表格中,然后继续下一步。

**感谢进阶。同样,这里是一个真正的新手。感谢所有帮助。

'''子Import99AcresPage1()

Dim ws As Worksheet
Dim qt As QueryTable
Dim URL As String
Dim i As Integer

'Part1 Begins

URL = "https://www.99acres.com/search/property/buy/residential-all/ahmedabad-all?search_type=QS&refSection=GNB&search_location=NRI&lstAcn=NR_R&lstAcnId=-1&src=CLUSTER&preference=S&selected_tab=1&city=45&res_com=R&property_type=R&isvoicesearch=N&keyword_suggest=Ahmedabad%20(All)%3B&fullSelectedSuggestions=Ahmedabad%20(All)&strEntityMap=W3sidHlwZSI6ImNpdHkifSx7IjEiOlsiQWhtZWRhYmFkIChBbGwpIiwiQ0lUWV80NSwgUFJFRkVSRU5DRV9TLCBSRVNDT01fUiJdfV0%3D&texttypedtillsuggestion=ahmedabad&refine_results=Y&Refine_Localities=Refine%20Localities&action=%2Fdo%2Fquicksearch%2Fsearch&suggestion=CITY_45%2C%20PREFERENCE_S%2C%20RESCOM_R&searchform=1&price_min=null&price_max=null"

Set ws = Worksheets.Add

Set qt = ws.QueryTables.Add( _
    Connection:="URL;" & URL, _
    Destination:=Range("A5"))

With qt
    .Name = "99AcresTable"
    '.WebSelectionType = xlSpecifiedTables
    '.WebTables = "43"
    .Refresh
End With

Application.Wait (Now + TimeSerial(0, 0, WorksheetFunction.RandBetween(3, 7)))

'Part1Ends

'Part2 Begins

对于i = 2到4

    URL = "https://www.99acres.com/property-in-ahmedabad-ffid-page-" & i

    Set ws = Worksheets.Add

    Set qt = ws.QueryTables.Add( _
    Connection:="URL;" & URL, _
    Destination:=Range("A5"))

With qt
    .Name = "99AcresTable"
    '.WebSelectionType = xlSpecifiedTables
    '.WebTables = "43"
    .Refresh
End With

Application.Wait (Now + TimeSerial(0, 0, WorksheetFunction.RandBetween(3, 7)))

Next i

结束子'''

excel vba excel-vba
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.