node.js - 抓取一个使用 javascript 注入 html 的网站
问题描述
我正在尝试使用 Node.JS 抓取网站,但是在抓取 html 文件时,出现的内容是注入 JavaScript 的脚本标签,在查看有问题的 JavaScript 文件后,我发现我正在尝试的文本似乎是正确的刮。将此脚本注入 html 后,如何抓取文档?有办法吗?谢谢
解决方案
我认为您需要使用一些无头浏览器,它会像普通网络浏览器一样评估 JavaScript。然后,在页面加载后,您可以像在 Chrome 控制台窗口(例如)中那样在加载的页面上运行自己的 JavaScript 或访问 HTML 元素。
对于 node.js,有Puppeteer,我多次使用它从 SPA Web 应用程序中抓取数据。
推荐阅读
- path - 不存在文件或目录:路径变量设置
- android - Android:BaseAdapter 重绘相同的数据
- python-3.x - 分析 Python 字节码
- qt - Qt5.9 Qml SPI接口实现
- c++ - 无法使用“struct Node *”类型的左值初始化“struct Node *”类型的参数
- javascript - 中间异步函数是否不必总是用 Javascript 中的 `async` 关键字包装?
- css - 如何固定 mat-cell 的高度并将其设置为溢出?
- php - 为什么在方法中使用 require_once 有时会失败?
- android - SharedPreferences never get key default value
- powershell - 我输入的 forfiles -d 值有什么问题?