javascript - 使用 Nokogiri 抓取 JavaScript

标签 javascript html ruby web-scraping nokogiri

我刚刚开始使用 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/

相关文章:

html - 带框架的力域

ruby-on-rails - 按 time desc 和 total_votes 呈现帖子

ruby-on-rails - Gem::Ext::BuildError: 错误:无法构建 gem native 扩展。在 VScode 中运行 bundler install 时不断收到此消息

mysql - 由于 "bundle update"gem,我无法运行 "mysql2"

javascript - Basecamp 的 Trix WYSIWYG 编辑器 gem 不在 Rails 4 应用程序中保存文件附件

javascript - Bower_components 未使用 Express static 加载

javascript - jQuery 切换复选框并切换 anchor 文本

javascript - 移动网站上的 Paypal 订阅 html 按钮

javascript - 从外部 LAN 访问网络摄像机,无需端口转发

html - 删除 <h2> 边框和内容之间的空白