如何在Nokogiri中提取部分文本

问题描述 投票:0回答:2

希望这里澄清我在使用nokogiri来提取javascript数据。一切正常,除了需要解决的一个小细节,我不知道如何删除变量数据。

我想提取部分文本

<script>
    window.pageData={JsonDataType}
</script>

我只想要输出{JsonDataType}。我的代码顺便说一下

script = page.at("//head/script[3]").text
ruby nokogiri
2个回答
0
投票

您将申请regex来完成您的任务,如下所示。

match = script.match(/window\.pageData=(?<data>.*)/i)和数据在match[:data]中捕获。

我假设script是字符串,否则正则表达式规则可能不起作用。


0
投票

答案取决于具体情况。

如果你清楚地知道页面的结构,你就可以这样做:

script = page.at("//head/script[3]").text.sub(/window\.pageData=/, "") #=> "{JsonDataType}"
© www.soinside.com 2019 - 2024. All rights reserved.