【问题标题】:Crawling a javascript variable inside HTML file with web-harvest使用 web-harvest 在 HTML 文件中抓取 javascript 变量
【发布时间】:2013-10-09 21:40:23
【问题描述】:

我有一个问题(可能是假的)。假设我在一个带有一堆其他东西(其他脚本标签和 html 标签)的 html 页面中有以下 sn-p 代码:

<script type="text/javascript">
    var count = 0;
    var active = false;
    var mapData = **{"points":   [{"type":"origin","name":"6003","lnglat":"174.77851504231018,-41.278763329010459,0\n"}]}**;
</script>

我只想抓取 mapData 变量的内容(在上面的示例中以粗体显示)。

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

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

有什么想法吗?

【问题讨论】:

  • 它是一个对象,你在说什么xpath?

标签: javascript html xpath webharvest


【解决方案1】:

请尝试使用 ${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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多