在WebHarvest中为变量添加数字

时间:2014-07-18 06:32:02

标签: webharvest

我应该首先说我是javascript的新手。

我需要根据一个数字将一堆网址提供给webharvest。这是一个很长的故事,但我的网址结构看起来像这样: http://www.example.com/foo/bar?page=0?page=每步增加25。因此,下一页将是http://www.example.com/foo/bar?page=25,然后是http://www.example.com/foo/bar?page=50,依此类推。有一个最大值,我可以通过另一个变量设置,称之为${maxpages}

所以我需要做的是修改一个变量以输入完全可预测的url,这样每次都可以添加25个变量。我正在考虑做一个while循环,如下所示:

<var-def name="pageNo">0</var-def>
<while condition="${pageNo} < ${maxpages}">
    <body>
        <html-to-xml><http url="${url}?${pageNo}"/></html-to-xml>
        <var-def name="pageNo">
            <var name="pageNo">[this is where I want to add 25]</var>
        </var-def>
    </body>
</while>

所以我真的不确定这里的语法。

我的问题是:

  1. 如何在while条件下检查我的变量pageNo是否小于maxpages?

  2. 你能在webharvest中为变量添加整数吗?怎么样?

1 个答案:

答案 0 :(得分:0)

我想我养成了回答自己的习惯。

经过一个小时的反复试验,我有了这个:

<var-def name="commentCount">432</var-def>
<var-def name="pageNo">0</var-def>
<while condition="${pageNo.toInt() &lt; commentCount.toInt()}">
    <html-to-xml>
        <http url="http://www.example.com/foo/bar?${pageNo}"/>
    </html-to-xml>
    <var-def name="pageNo"><template>${pageNo.toInt() + 25}</template></var-def>
</while>