小编Gab*_*Koo的帖子

使用 chrome-remote-interface 抓取 Node.js

我一直在尝试抓取一个受 Distil Networks 保护的网站,其中使用 selenium(使用 Python)总是会失败。

我做了一些搜索,我的结论是该站点可以通过使用某种 javascript 检测到您正在使用 Selenium。然后我掠夺了chrome-remote-interface,就像这是我想要的东西,但后来我被卡住了。

我想做的是自动化以下步骤:

  1. 打开 Chrome 实例
  2. 导航到一个页面
  3. 运行一些javascript
  4. 收集数据并保存到文件
  5. 重复步骤 2 - 4

我知道我可以通过以下方式打开 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用于抓取的文档。有什么好的链接吗?

python selenium screen-scraping google-chrome node.js

5
推荐指数
1
解决办法
2920
查看次数