爬蟲跟反爬蟲是競爭的狀態
道高一尺魔高一丈
所以爬蟲的時候都有可能會遇到新的問題
之前在 VBA / 使用Excel VBA爬蟲Google搜尋結果的程式碼
現在會被google搜尋擋下來
由於網路上的selenium basic的資料不多,搜尋到的多半是python的版本
所以改用python的selenium-webdriver來搜尋資料,先修改python的程式碼
在這篇 How to Avoid Bot Detection With Selenium 的第2個方法
2. Disabling the Automation Indicator WebDriver Flags
就可以避免被阻擋
所以我嘗試用這樣的思路來設定VBA selenium basic
經過測試之後,只要多加這個參數就可以了
"--disable-blink-features=AutomationControlled"
其他用來隱藏”Chrome目前受到自動測試軟體控制”的設定都沒效果、或者用了反而會被阻擋
修改後的程式碼如下,主要是多了第5行的程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Public BOT As New WebDriver Sub WebDriver() s = Application.EncodeURL("壯圍國中") BOT.AddArgument "--disable-blink-features=AutomationControlled" BOT.Start "chrome" BOT.Get "https://www.google.com/search?q=" + s s = BOT.FindElementsByClass("LrzXr")(1).Text Debug.Print s Application.Wait (Now + TimeValue("00:00:03")) BOT.Quit End Sub |