如何自动递增超链接中的日期时间参数并实现自动下载
解决方案
方法一:浏览器油猴脚本实现(无需修改原链接文本)
- 核心逻辑是页面加载后自动匹配所有符合规则的链接,替换其中的
start和end参数值 - 示例代码(可直接在Tampermonkey中导入使用):
// ==UserScript== // @name 自动替换链接日期参数 // @match *://你的目标网站域名/* // 替换成实际的网站域名 // @grant none // ==/UserScript== (function() { // 配置每次递增的天数,此处默认1天 const addDays = 1; // 格式化日期为URL编码的yyyy-mm-dd hh:mm格式 function formatDate(date) { const y = date.getFullYear(); const m = String(date.getMonth() + 1).padStart(2, '0'); const d = String(date.getDate()).padStart(2, '0'); return encodeURIComponent(`${y}-${m}-${d} 00:00`); } // 遍历页面所有a标签 document.querySelectorAll('a').forEach(a => { if (a.href.includes('start=') && a.href.includes('end=')) { const url = new URL(a.href); // 生成新的日期 const now = new Date(); const startDate = formatDate(now); const endDate = formatDate(new Date(now.getTime() + addDays * 24 * 60 * 60 * 1000)).replace('00:00', '23:59'); // 替换参数 url.searchParams.set('start', startDate); url.searchParams.set('end', endDate); a.href = url.toString(); } }) })();
- 使用方式:安装Tampermonkey扩展,新建脚本,替换上述代码中的域名配置后保存即可,页面加载完成后所有对应链接的日期会自动更新为当前递增后的日期
方法二:本地脚本批量生成下载链接(适用于批量下载场景)
- 不需要修改原链接文本,直接按规则动态生成符合要求的请求地址即可,Python示例代码:
from datetime import datetime, timedelta import urllib.parse base_url = "https://你的目标地址/?post=5777&sort=&page=1" # 配置起始日期和需要生成的天数 start_date = datetime(2021,6,27) total_days = 30 # 生成30天的链接 for i in range(total_days): current_start = start_date + timedelta(days=i) current_end = current_start + timedelta(days=1) # 格式化日期并编码 start_str = urllib.parse.quote(current_start.strftime("%Y-%m-%d 00:00")) end_str = urllib.parse.quote(current_end.strftime("%Y-%m-%d 23:59")) # 拼接最终链接 final_url = f"{base_url}&start={start_str}&end={end_str}" # 此处可添加自定义下载逻辑,直接请求final_url即可 print(final_url)
内容的提问来源于stack exchange,提问作者Leo Paolo Rotolo
相关产品推荐
相关产品推荐

