我一直在試圖抓取一個受Distil Networks保護的網站, ,其中使用selenium(使用Python)只會失敗。Node.js使用chrome-remote-interface進行抓取
我做了一些搜索,我的結論是,該網站可以通過使用某種JavaScript來檢測您是否在使用Selenium。然後我在chrome-remote-interface
拿到了一個戰利品,就像我想要的東西,但後來我被卡住了。
我想什麼做的是自動化以下步驟:
- 打開Chrome實例
- 導航到一個頁面
- 運行一些JavaScript代碼
- 收集數據並保存到文件
- 重複步驟2 - 4
我知道我c一個被打開的Chrome實例進行調試:
google-chrome --remote-debugging-port=9222
,我還可以通過在節點打開控制檯:
chrome-remote-interface -t 127.0.0.1 -p 9222 inspect -r
我也可以運行簡單的腳本像
Page.navigate({url:"https://google.com"})
Runtime.evaluate({expression:"1+1"})
但是像我無法直接在Node.js上獲取DOM,因爲我可以在Chrome開發人員工具控制檯上執行該操作。基本上我想要的是在Node上運行腳本,就像我可以在Chrome開發人員工具控制檯上執行的操作一樣。
此外,chrome-remote-interface
還沒有足夠的文件用於刮取。有沒有什麼好的聯繫?