当前位置: 首页 > news >正文

批量爬取 vjudge 题单的远程提交记录

// ==UserScript==
// @name         VJudge 题单批量归档
// @namespace    https://vjudge.net/
// @version      1.0
// @description  自动点击“提交-归档”,将题单题目加入归档队列(fetch实现)
// @match        https://vjudge.net/contest/*
// @match        https://vjudge.net/article/*
// @grant        none
// ==/UserScript==(function(){'use strict';const INTERVAL = 5000; // 每题间隔(ms),别小于 3sconst archived = new Set();function sleep(ms){return new Promise(r=>setTimeout(r,ms));}// 获取题号function getProblemIds(){const rows = document.querySelectorAll('table tbody tr');const ids = [];rows.forEach(r=>{const a = r.querySelector('a[href*="/problem/"]');if(!a)return;// 提取完整的 problemId 部分const href = a.getAttribute('href');const m = href.match(/problem\/(.+)$/);if(m) ids.push(m[1]);});return ids;}// 归档请求(用 fetch)async function archiveProblem(pid){try {const res = await fetch(`https://vjudge.net/problem/submit/${encodeURIComponent(pid)}`, {method: 'POST',headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},body: 'method=2&language=&open=1&source=',credentials: 'include' // 自动带上 Cookie});const text = await res.text();console.log('已归档:', pid, text);} catch (err) {console.error('归档失败:', pid, err);throw err;}}async function run(){const pids = getProblemIds();console.log('题目数:', pids.length);for(let i=0;i<pids.length;i++){const pid = pids[i];if(archived.has(pid)) continue;console.log(`归档 ${i+1}/${pids.length}:`, pid);try{await archiveProblem(pid);archived.add(pid);}catch(e){console.warn('跳过:', pid);}await sleep(INTERVAL);}console.log('题单归档触发完成');}// 插入按钮const btn = document.createElement('button');btn.innerText = '批量归档题单';btn.style.position = 'fixed';btn.style.bottom = '10px';btn.style.right = '10px';btn.style.zIndex = 9999;btn.style.padding = '8px 12px';btn.style.backgroundColor = '#4CAF50';btn.style.color = '#fff';btn.style.border = 'none';btn.style.borderRadius = '4px';btn.style.cursor = 'pointer';btn.onclick = run;document.body.appendChild(btn);
})();
http://www.zskr.cn/news/124058.html

相关文章:

  • 2025年汉庭酒店家具供应商排行榜,新测评精选酒店家具品牌厂家推荐 - 工业推荐榜
  • 2025年度保温耐火材料行业口碑排名:安泰恒信行业口碑排名如何 - myqiye
  • 2025山东空压机维保/空压机节能改造/空压机管路升级改造服务商实力推荐榜单 - 工业企业赋能社
  • 2025年北京口碑不错的整装局改专业公司排行榜,售后完善的整装局改品牌企业推荐 - mypinpai
  • 2025年GEO优化公司排名推荐:GEO优化服务哪家专业? - 工业推荐榜
  • 2025年抖音运营公司推荐:抖音运营公司选择哪家好、哪家便宜? - myqiye
  • ​避坑指南:2025六大胶原蛋白肽品牌全维度分析,数据解码仙次元抗老密码,靠效果说话! - 博客万
  • 2025年无锡扁平式气流粉碎机品牌排行榜,气流粉碎机实力厂家精选推荐 - 工业品牌热点
  • 2025年珠三角可靠的短视频推广公司排名,短视频推广渠道推荐及权威服务测评 - myqiye
  • [SDR] USRP 双通道与 MIMO 技术:手搓 1 发 2 收 AOA 阵列定位系统
  • 2025年年终成都四川工作服厂家推荐:整合行业报告与客户口碑案例,5家高性价比合作商盘点 - 品牌推荐
  • 2025年12月钙片,氨糖钙片公司推荐:行业测评与骨骼养护选择指南 - 品牌鉴赏师
  • reactive - 东方不败-
  • 2025年复合土工膜生产厂家权威推荐榜单:土工膜衬垫/土工膜防渗膜/防水土工膜源头厂家精选 - 品牌推荐官
  • 工单小程序开发公司,工单流转+高效管理功能专业开发服务商推荐,工单小程序开发公司/预约小程序开发公司/工单小程序开发公司/社区小程序开发公司/商城小程序开发公司 - 品牌2026
  • 【赵渝强老师】使用Docker Machine远程管理Docker
  • 目的地婚礼【2025】排名:各大策划团队PK,TOP1会花落谁家! - 提酒换清欢
  • 2025年传动零部件电商平台TOP5排行榜,NACHI丝杠轴承推荐 - 工业品牌热点
  • SENO重大签约:获得法国独家授权,品牌全球化迈出关键一步 - 品牌推荐
  • 2025年宁波靠谱的离婚纠纷律师推荐:离婚纠纷辩护律师哪家诚信? - 工业推荐榜
  • WSL磁盘空间清理步骤
  • 2025年北京积分制任务管理公司权威推荐榜单:积分管理系统/积分数据报表/积分制管理案例提供商精选 - 品牌推荐官
  • docker单机部署rocketmq最新版本5.3.2
  • Grok 发布语音 API,支持实时 X 数据搜索;腾讯发布混元实时世界模型 1.5,开放个人体验丨日报
  • 2025年垃圾袋定制企业排名:河北瑞动包装客户评价如何? - myqiye
  • PCIe数据采集卡设计原理图:138-1路1Gsps AD 1路1Gsps DA高速采集存储回放设备
  • 2025年北京私人定制旅游公司推荐:私人定制旅游选哪家? - mypinpai
  • 2025年年终中国海参品牌深度解析与推荐指南 - 品牌推荐
  • C++学习笔记 24 auto
  • 2025年十大Starlink星链配件源头工厂推荐 - mypinpai