gpt4 book ai didi

javascript - 如何使用 Nokogiri 和 Ruby 解析 JavaScript

转载 作者:数据小太阳 更新时间:2023-10-29 07:36:25 24 4
gpt4 key购买 nike

我需要从网站中解析出一个数组。我要解析的 JavaScript 部分如下所示:

_arPic[0] = "http://example.org/image1.jpg";
_arPic[1] = "http://example.org/image2.jpg";
_arPic[2] = "http://example.org/image3.jpg";
_arPic[3] = "http://example.org/image4.jpg";
_arPic[4] = "http://example.org/image5.jpg";
_arPic[5] = "http://example.org/image6.jpg";

我使用类似这样的方法获取整个 JavaScript:

product_page = Nokogiri::HTML(open(full_url))    
product_page.css("div#main_column script")[0]

有没有一种简单的方法来解析所有变量?

最佳答案

如果我没看错,你是在尝试解析 JavaScript 并获取包含图像 URL 的 Ruby 数组吗?

Nokogiri 仅解析 HTML/XML,因此您将需要一个不同的库;粗略搜索会发现 RKelly包含一个 parse 函数的库,该函数接受一个 JavaScript 字符串并返回一个解析树。

一旦你有了一个解析树,你将需要遍历它并按名称找到感兴趣的节点(例如 _arPic),然后在赋值的另一端获取字符串内容。

或者,如果它不需要太健壮(实际上不会),您可以尽可能使用正则表达式来搜索 JavaScript:

/^\s*_arPic\[\d\] = "(.+)";$/

可能是一个很好的入门正则表达式。

关于javascript - 如何使用 Nokogiri 和 Ruby 解析 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14461931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com