小寄巧——给洛谷题单快速生成一份目录

此题单为例,首先我们在浏览器中打开,F12 切换到 Console,输入 document.querySelectorAll(".title a"),然后复制返回的所有内容,粘贴到 VSCode 里,内容大致如下:

NodeList(15) [ a.title.color-default, a.title.color-default, a.title.color-default, a.title.color-default, a.title.color-default, a.title.color-default, a.title.color-default, a.title.color-default, a.title.color-default, a.title.color-default, … ]

0: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/B2002" target="_blank" colorscheme="default" title="Hello,World!" data-v-b5709dda="">

1: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/B2025" target="_blank" colorscheme="default" title="输出字符菱形" data-v-b5709dda="">

2: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P1000" target="_blank" colorscheme="default" title="超级玛丽游戏" data-v-b5709dda="">

3: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P1001" target="_blank" colorscheme="default" title="A+B Problem" data-v-b5709dda="">

4: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/B2005" target="_blank" colorscheme="default" title="字符三角形" data-v-b5709dda="">

5: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5703" target="_blank" colorscheme="default" title="【深基2.例5】苹果采购" data-v-b5709dda="">

6: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5704" target="_blank" colorscheme="default" title="【深基2.例6】字母转换" data-v-b5709dda="">

7: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5705" target="_blank" colorscheme="default" title="【深基2.例7】数字反转" data-v-b5709dda="">

8: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5706" target="_blank" colorscheme="default" title="【深基2.例8】再分肥宅水" data-v-b5709dda="">

9: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5708" target="_blank" colorscheme="default" title="【深基2.习2】三角形面积" data-v-b5709dda="">

10: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5707" target="_blank" colorscheme="default" title="【深基2.例12】上学迟到" data-v-b5709dda="">

11: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/B2029" target="_blank" colorscheme="default" title="大象喝水" data-v-b5709dda="">

12: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P1425" target="_blank" colorscheme="default" title="小鱼的游泳时间" data-v-b5709dda="">

13: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P1421" target="_blank" colorscheme="default" title="小玉买文具" data-v-b5709dda="">

14: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P3954" target="_blank" colorscheme="default" title="[NOIP2017 普及组] 成绩" data-v-b5709dda="">

length: 15

<prototype>: NodeListPrototype { item: item(), keys: keys(), values: values(), … }

注意由于未知原因,一些浏览器 Console 复制出来的空行会有零宽字符(U+200B),这时候只需要光标放在空行处直接 Ctrl+F 搜索,如果搜到了说明有零宽字符,直接替换删除即可。

删掉首末无用的消息,只留下含有链接的行:

0: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/B2002" target="_blank" colorscheme="default" title="Hello,World!" data-v-b5709dda="">

1: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/B2025" target="_blank" colorscheme="default" title="输出字符菱形" data-v-b5709dda="">

2: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P1000" target="_blank" colorscheme="default" title="超级玛丽游戏" data-v-b5709dda="">

3: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P1001" target="_blank" colorscheme="default" title="A+B Problem" data-v-b5709dda="">

4: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/B2005" target="_blank" colorscheme="default" title="字符三角形" data-v-b5709dda="">

5: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5703" target="_blank" colorscheme="default" title="【深基2.例5】苹果采购" data-v-b5709dda="">

6: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5704" target="_blank" colorscheme="default" title="【深基2.例6】字母转换" data-v-b5709dda="">

7: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5705" target="_blank" colorscheme="default" title="【深基2.例7】数字反转" data-v-b5709dda="">

8: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5706" target="_blank" colorscheme="default" title="【深基2.例8】再分肥宅水" data-v-b5709dda="">

9: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5708" target="_blank" colorscheme="default" title="【深基2.习2】三角形面积" data-v-b5709dda="">

10: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P5707" target="_blank" colorscheme="default" title="【深基2.例12】上学迟到" data-v-b5709dda="">

11: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/B2029" target="_blank" colorscheme="default" title="大象喝水" data-v-b5709dda="">

12: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P1425" target="_blank" colorscheme="default" title="小鱼的游泳时间" data-v-b5709dda="">

13: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P1421" target="_blank" colorscheme="default" title="小玉买文具" data-v-b5709dda="">

14: <a class="title color-default" data-v-0640126c="" data-v-beeebc6e="" href="/problem/P3954" target="_blank" colorscheme="default" title="[NOIP2017 普及组] 成绩" data-v-b5709dda="">

在 VSCode 中(或者其他正则表达式工具)进行替换操作:

查找
.*href="/problem/([A-Z][0-9]+)" target="_blank" colorscheme="default" title="(.*)" .*
替换为
- [$1 $2](https://www.luogu.com.cn/problem/$1)

接下来就大功告成:

- [B2002 Hello,World!](https://www.luogu.com.cn/problem/B2002)

- [B2025 输出字符菱形](https://www.luogu.com.cn/problem/B2025)

- [P1000 超级玛丽游戏](https://www.luogu.com.cn/problem/P1000)

- [P1001 A+B Problem](https://www.luogu.com.cn/problem/P1001)

- [B2005 字符三角形](https://www.luogu.com.cn/problem/B2005)

- [P5703 【深基2.例5】苹果采购](https://www.luogu.com.cn/problem/P5703)

- [P5704 【深基2.例6】字母转换](https://www.luogu.com.cn/problem/P5704)

- [P5705 【深基2.例7】数字反转](https://www.luogu.com.cn/problem/P5705)

- [P5706 【深基2.例8】再分肥宅水](https://www.luogu.com.cn/problem/P5706)

- [P5708 【深基2.习2】三角形面积](https://www.luogu.com.cn/problem/P5708)

- [P5707 【深基2.例12】上学迟到](https://www.luogu.com.cn/problem/P5707)

- [B2029 大象喝水](https://www.luogu.com.cn/problem/B2029)

- [P1425 小鱼的游泳时间](https://www.luogu.com.cn/problem/P1425)

- [P1421 小玉买文具](https://www.luogu.com.cn/problem/P1421)

- [P3954 [NOIP2017 普及组] 成绩](https://www.luogu.com.cn/problem/P3954)

效果:


之后也可以用 Python 写个工具使其更加自动化。

posted @ 2024-11-18 13:05  MessageBoxA  阅读(5)  评论(0编辑  收藏  举报