我刚刚开始使用 Nokogiri,并且已经能够成功地转义 HTML 页面。我现在正在尝试抓取使用大量 JavaScript 驱动的某个页面。
作为一个让我上路的例子 - 我怎样才能从 this page 上的一个蓝色框内刮取十进制值?
最佳答案
您无法使用 Nokogiri 抓取动态值,因为它们不包含在 HTML 本身中,而是稍后添加到 DOM 中。 Nokogiri 只能解析 HTML 数据,它不能构建 DOM 或运行页面。
为了从 DOM 获取值,您需要能够构建 DOM 并根据标准对其进行处理。这需要实际模拟网络浏览器。
更简单的方法是尝试找出页面使用哪些 API 端点来检索它然后显示的值,并自行向这些端点发出请求。但是,这需要了解页面如何工作的一些知识,并且不容易完全自动化。
长话短说:要做到这一点,你需要的不仅仅是Nokogiri。
关于javascript - 使用 Nokogiri 抓取 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128782/