如何快速获取洛谷所有标签的名称
  • 板块灌水区
  • 楼主block_in_mc
  • 当前回复10
  • 已保存回复10
  • 发布时间2023/8/21 19:14
  • 上次更新2023/11/3 02:10:17
查看原帖
如何快速获取洛谷所有标签的名称
555825
block_in_mc楼主2023/8/21 19:14

如何快速获取洛谷所有标签的名称?


下面是我进行的尝试。

我运行了以下 Python 代码:

from urllib.request import urlopen

url = urlopen('https://www.luogu.com.cn/problem/list?tag=350&page=1')
html = bytes.decode(url.read())
print(html)

这段代码输出了访问 https://www.luogu.com.cn/problem/list?tag=350&page=1 获得的 HTML,即含有标签 350350 的题目列表。

结果 在这里。但是,我并没有找到任何信息。

之前在处理题目所拥有的标签列表等时,关键在于其中的

<script>window._feInjection = JSON.parse(decodeURIComponent("%7B%22code%22%3A200%2C%22currentTemplate%22%3A%22......currentTime%22%3A1692614169%7D"));window._feConfigVersion=1689861624;window._tagVersion=1692612623;</script>

在浏览器控制台中运行 decodeURIComponent 函数,并将 unicode 字符转为中文,得到以下结果:

{"code":200,"currentTemplate":"ProblemList","currentData":{"problems":{"count":3,"result":[{"tags":[6,43,108,228,350],"wantsTranslation":false,"totalSubmit":3535,"totalAccepted":1163,"flag":5,"pid":"P4320","title":"道路相遇","difficulty":6,"fullScore":325,"type":"P"},{"tags":[35,48,97,108,127,181,249,350],"wantsTranslation":false,"totalSubmit":5134,"totalAccepted":1772,"flag":5,"pid":"P4606","title":"[SDOI2018] 战略游戏","difficulty":6,"fullScore":300,"type":"P"},{"tags":[81,108,337,350],"wantsTranslation":false,"totalSubmit":1137,"totalAccepted":233,"flag":5,"pid":"P8456","title":"「SWTR-8」地地铁铁","difficulty":6,"fullScore":100,"type":"P"}],"perPage":50},"page":1},"currentTitle":"题目列表","currentTheme":null,"currentTime":1692614169}

然而,这只是所有含有此标签的题目的具体信息,并没有任何意义。

希望有人能给出一个方法。

2023/8/21 19:14
加载中...