我一直在尝试抓取一个受 Distil Networks 保护的网站,其中使用 selenium(使用 Python)总是会失败。
我做了一些搜索,我的结论是该站点可以通过使用某种 javascript 检测到您正在使用 Selenium。然后我掠夺了chrome-remote-interface
,就像这是我想要的东西,但后来我被卡住了。
我想做的是自动化以下步骤:
我知道我可以通过以下方式打开 Chrome 实例进行调试:
google-chrome --remote-debugging-port=9222
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式在节点上打开控制台:
chrome-remote-interface -t 127.0.0.1 -p 9222 inspect -r
Run Code Online (Sandbox Code Playgroud)
我还可以运行简单的脚本,如
Page.navigate({url:"https://google.com"})
Runtime.evaluate({expression:"1+1"})
Run Code Online (Sandbox Code Playgroud)
但是就像我不能像在 Chrome 开发人员工具控制台上那样直接在 Node.js 上获取 DOM。基本上我想要的是在 Node 上运行脚本,就像我可以在 Chrome 开发者工具控制台上做的那样。
此外,没有足够的chrome-remote-interface
用于抓取的文档。有什么好的链接吗?