我正在做一个项目,该项目需要找到从今天开始的顶级维基百科页面,它使用GitHub上的代码作为pageviewapi,除了它在今天的日期中替代。GitHub上的原始代码是:
import pageviewapi
pageviewapi.top('fr.wikipedia', 2015, 11, 14, access='all-access')
我的代码如下:
from datetime import datetime
currentDay = datetime.now().day
currentMonth = datetime.now().month
currentYear = datetime.now().year
import pageviewapi
toppages = pageviewapi.top('fr.wikipedia', currentYear, currentMonth, currentDay, access='all-access')
print(toppages)
这只是返回一个长错误(如下所示(。使用此代码有什么问题,为什么没有显示结果?
错误:Traceback(最近一次通话(:文件";"main.py";,第54行,intoppages=pageviewapi.top('fr.wikipedia',currentYear,currentMonth,currentDay,access='all-access'(文件"/home/runner/wikipedia game/venv/lib/python3.8/site packages/pageviewapi/client.py";,第94行,在顶部returnapi(TOP_ENDPOINT,args(文件"/home/runner/wikipedia game/venv/lib/python3.8/site packages/pageviewapi/client.py";,第154行,在apiresponse.raise_for_status((中文件"/home/runner/wikipedia game/venv/lib/python3.8/site packages/requests/models.py";,第960行,处于raise_for_status引发HTTPError(http_error_msg,response=self(requests.exceptions.HTTPError:400客户端错误:url请求错误:https://wikimedia.org/api/rest_v1/metrics/pageviews/top/fr.wikipedia/all-access/2022/3/24
有两个问题-首先你需要使用03作为月份,而不是3,所以使用:
currentMonth = str(datetime.now().month).zfill(2)
其次,你不能查看今天的页面浏览量,因为它们还不存在——你能做的最好的事情就是使用昨天的,所以:
currentDay = datetime.now().day-1