我真的不知道如何使用正则表达式,我有一个任务是获取批量图像下载程序以找到一定数量的页面,例如第1-20页链接爬行。
这是网址:
/index.php?app=core&module=search&do=viewNewContent&period=month&userMode=&search_app=forums&sid=ceb2a9ba4039e4a06d3a6775aa735f2d&search_app_filters[forums][searchInKey]=&st=400
其页面(st
参数)以+25递增,因此以下页面将为:
/index.php?app=core&module=search&do=viewNewContent&period=month&userMode=&search_app=forums&sid=ceb2a9ba4039e4a06d3a6775aa735f2d&search_app_filters[forums][searchInKey]=&st=425
如何将页码与下一个连续页码匹配并替换?
答案 0 :(得分:0)
你可以捕捉最后的数字并使用你正在编写的任何语言将其递增25:
/(\/index\.php.+?)(\d+)$/
这将为您提供$ 1中的URL和$ 2中的页码或匹配[2](但您选择的语言代表第一个“捕获”)。有了它,你可以增加它。
这个Ruby示例将会这样做:
matches = url.match(/(\/index\.php.+?)(\d+)$/)
page = matches[2].to_i # Convert the page number to integer
page = page + 25 # Calculate the new page number
new_url = matches[1] + (page).to_s # Merge in the new page number
这应该是这种格式的URL。