使用web harvest在HTML文件中爬行javascript变量

使用web harvest在HTML文件中爬行javascript变量,javascript,html,xpath,webharvest,Javascript,Html,Xpath,Webharvest,我有一个问题(也许是哑巴)。假设我在一个html页面中有以下代码片段,其中包含一系列其他内容(其他脚本标记和html标记): var计数=0; var-active=false; var mapData=**{“点”:[{“类型”:“原点”,“名称”:“6003”,“lnglat”:“174.77851504231018,-41.278763329010459,0\n”}]}**; 我只想略过mapData变量的内容(在上面的例子中是粗体的) 我正在努力使用xpath表达式,我需要在xml配

我有一个问题(也许是哑巴)。假设我在一个html页面中有以下代码片段,其中包含一系列其他内容(其他脚本标记和html标记):


var计数=0;
var-active=false;
var mapData=**{“点”:[{“类型”:“原点”,“名称”:“6003”,“lnglat”:“174.77851504231018,-41.278763329010459,0\n”}]}**;
我只想略过mapData变量的内容(在上面的例子中是粗体的)

我正在努力使用xpath表达式,我需要在xml配置文件中使用该表达式,以仅获取mapData变量内容。由于我是XPath/WebHarvest新手,我不确定解决方案是使用XPath表达式还是其他方法

其他时候,我都是基于HTML标记和其中id属性的名称进行抓取,但现在我在文件中只有很多脚本标记,需要获取mapData变量


有什么想法吗?

请尝试使用${SiteURL}是您要点击的网站URL:

<xpath expression="for $m in $x//script[contains(text(),'var mapData')] return normalize-space(substring-after($m,'var mapData ='))">
        <html-to-xml>
          <http url="${SiteURL}"/>
        </html-to-xml>
      </xpath>

它是一个对象,你在说什么xpath?
<xpath expression="for $m in $x//script[contains(text(),'var mapData')] return normalize-space(substring-after($m,'var mapData ='))">
        <html-to-xml>
          <http url="${SiteURL}"/>
        </html-to-xml>
      </xpath>