gpt4 book ai didi

javascript - 有没有办法抓取网站并在每个页面上获取 JavaScript 变量?

转载 作者:行者123 更新时间:2023-11-30 10:27:11 25 4
gpt4 key购买 nike

我工作的公司将在几个月内重新设计网站,我们需要的其中一件事是一个包含网站上每个页面的每个 URL 的表格。然后,最理想的情况是,会有包含一组预定义 JavaScript 变量(在本例中为 Omniture 变量,因此我们可以确保每个页面都正确标记其在站点层次结构中的位置)的值的列。

这是给定页面的 HTML 中可能包含的内容的示例:

<script type="text/javascript">     
metrics_level2 = "biz";
metrics_level3 = "products";
metrics_level4 = "my_awesome_product";
metrics_pagename = "biz|products|my_awesome_product";
</script>

我已经使用 RapidMiner 对网站进行了爬网,数据已准备就绪,但我的问题是隔离这些变量并将“metrics_level2”、“metrics_level3”等放入它们自己的列中的最佳方法。 XPath 是最好的方法吗?常用表达?我对 XPath 的尝试似乎在标签之间引入了全部内容,这需要事后进行大量清理工作。

最佳答案

如果你使用 PhantomJS http://phantomjs.org/您可以像在网页中一样使用 JavaScript 访问这些变量。一个非常简单的例子如下:

//where url is the page that contains these variables.
page.open(url, function (status) {
//Page is loaded!
var dataFromPage = page.evaluate(function(){
return {
metrics_level2:metrics_level2,
metrics_level3:metrics_level3,
metrics_level4:metrics_level4
};
});
//dataFromPage now contains those variables

phantom.exit();
});

如果您已经将网页抓取并保存为 html 文件或其他文件,您可以使用 content 方法设置页面对象的内容,就像打开页面一样,如上所示。参见 http://phantomjs.org/api/webpage/property/content.html

关于javascript - 有没有办法抓取网站并在每个页面上获取 JavaScript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19037418/

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