对于公司项目,我需要使用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变量的值。这样的事情有可能吗?
想必这是不可能的,因为它似乎很简单,但如果它是 你 的.js你想检测,为什么不只是有.js文件做一些检测通过刮页面?
使用js在某个地方填充这样的标签(大概通过element.innerHTML):
<span><!--Important js thing has been activated!--></span>.
编辑:或者,如果脚本需要在加载时可检测,则可以使用document.write