From 7653ffaffb5cf32700378424cadeebe6fdf1ba95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BE=E9=87=8C=E9=A3=9E=E6=B4=8B?= <2856090148@qq.com> Date: Thu, 20 Jul 2023 13:27:21 +0800 Subject: [PATCH] =?UTF-8?q?2023-07-20=20=E9=92=88=E5=AF=B907-15=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=BA=86=E6=AD=A3=E5=88=99=EF=BC=8C=E5=B9=B6=E6=8C=89?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E5=BA=8F=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/Zfour/python_github_calendar_api/pull/15 ShengQiBaoZao:23-07-15日github更新后,原先的正则错误,更新了正则,并按字典序排序 Barry-Flynn:请问那两个变量为什么要按照字典排序呢? ShengQiBaoZao:您好,可以看一下github更新后的网页源代码,爬虫爬下来的顺序变成了按照星期几排列,比如先从22年,比如7月4号-11号-18号这样一直到23年的星期一排列完成,然后再从22年星期二排列,对于当前calendar呈现出来也会是这样的顺序,所以要按照datadate进行字典排序 --- api/index.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/api/index.py b/api/index.py index 953ae72..e9a2cfe 100644 --- a/api/index.py +++ b/api/index.py @@ -10,13 +10,16 @@ def getdata(name): gitpage = requests.get("https://github.com/" + name) data = gitpage.text datadatereg = re.compile(r'data-date="(.*?)" data-level') - # 注释掉原有正则,更新新的正则使其可以继续使用 https://github.com/Zfour/python_github_calendar_api/pull/5 - # datacountreg = re.compile(r'data-count="(.*?)" data-date') - datacountreg = re.compile(r'rx="2" ry="2">(.*?) contribution') + # 针对2023-07-15更新了正则,并按字典序排序 https://github.com/Zfour/python_github_calendar_api/pull/15 + datacountreg = re.compile(r'(.*?) contribution') datadate = datadatereg.findall(data) datacount = datacountreg.findall(data) - # datacount = list(map(int, datacount)) datacount = list(map(int, [0 if i == "No" else i for i in datacount])) + + # 将datadate和datacount按照字典序排序 + sorted_data = sorted(zip(datadate, datacount)) + datadate, datacount = zip(*sorted_data) + contributions = sum(datacount) datalist = [] for index, item in enumerate(datadate):