This example shows how to merge pages from a search result.


In this example, the page URLs contain a &start= parameter. The first page does not include this parameter. Subsequent pages use increments of 10, for example &start=10, &start=20, and so on.


Sub Wsw_MergePages($sMem, $nPageNumber, $sUrl, ByRef $sNewUrl, ByRef $sNewPostData, ByRef $bChangeBookmarkUrl, ByRef $sStatusMessage, ByRef $iStatusCode)
   
   Dim $nPageParamNumber, $sPageParam, $sNewPageParam
   
   ' Limit the number of merged pages
   If $nPageNumber > 3 Then
      Return
   End If
   
   ' Extract page number
   $sPageParam = GetFirstRegexMatch($sUrl, "\&start=\d+")
   If $sPageParam = "" Then
      ' first page, continue with page 2 (solved with start=10)
      $sNewPageParam = "&start=10"
      $sUrl = $sUrl + $sNewPageParam
   Else
      ' increase page number
      $nPageParamNumber = CInt(ExtractDigits($sPageParam)) + 10
      $sNewPageParam = "&start=" + CStr($nPageParamNumber)
      $sUrl = Replace($sUrl, $sPageParam, $sNewPageParam)
   End If
   
   ' check (only) via Page-Param, if the next page is already available in the page source
   If Pos($sNewPageParam, $sMem) > 0 Then
      ' the next page exists
      $sNewUrl = $sUrl
      $sStatusMessage = "Merge pages via FOLLOW-Plugin"
   End If
   
End Sub