一尘不染

通过网页抓取提取JavaScript变量值

ajax

对于公司项目,我需要使用PHP和JavaScript(包括jQuery)创建一个Web抓取应用程序,该应用程序将从客户网站的每个页面提取特定数据。抓取应用需要为每个页面获取两种类型的数据:1)确定是否存在具有特定ID的某些HTML元素,以及2)提取特定JavaScript变量的值。每个页面上的JS变量名称都相同,但是值通常不同。

我相信我知道如何获得第一个数据要求:使用PHP file_get_contents()函数获取每个页面的HTML,然后使用JavaScript /
jQuery解析该HTML并搜索具有特定ID的元素。但是,我不确定如何获取第二条数据-
JavaScript变量值。甚至在每个页面的HTML中都找不到JavaScript变量;而是在链接到该页面的外部JavaScript文件中找到它。即使将JavaScript嵌入到页面的HTML中,我也知道file_get_contents()只会提取JavaScript代码(和其他HTML),而不会提取任何变量值。

谁能建议一种很好的方法来获取给定网站的每个页面的此可变值?

编辑:只是为了澄清,在运行JavaScript代码后,我需要JavaScript变量的值。这样的事情有可能吗?


阅读 330

收藏
2020-07-26

共1个答案

一尘不染

想必这是不可能的,因为它似乎很简单,但如果它是 的.js你想检测,为什么不只是有.js文件做一些检测通过刮页面?

使用js在某个地方填充这样的标签(大概通过element.innerHTML):

<span><!--Important js thing has been activated!--></span>.

编辑:或者,如果脚本需要在加载时可检测,则可以使用document.write

2020-07-26