希望这里澄清我在使用nokogiri来提取javascript数据。一切正常,除了需要解决的一个小细节,我不知道如何删除变量数据。
我想提取部分文本
<script>
window.pageData={JsonDataType}
</script>
我只想要输出{JsonDataType}
。我的代码顺便说一下
script = page.at("//head/script[3]").text
您将申请regex
来完成您的任务,如下所示。
match = script.match(/window\.pageData=(?<data>.*)/i)
和数据在match[:data]
中捕获。
我假设script
是字符串,否则正则表达式规则可能不起作用。
答案取决于具体情况。
如果你清楚地知道页面的结构,你就可以这样做:
script = page.at("//head/script[3]").text.sub(/window\.pageData=/, "") #=> "{JsonDataType}"