如何获取维基百科页面(文章)的链接列表以及点击链接的人数?

时间:2016-03-14 15:31:44

标签: processing mediawiki-api

到目前为止,这是我的代码。现在我列出了有多少人查看了该页面(文章),但我想知道是否可以列出维基百科页面(文章)的链接列表以及点击链接的次数?

class LoginView(views.APIView):
    def post(self, request, format=None):
        data = json.loads(request.body)

        email = data.get('email', None)
        password = data.get('password', None)

        account = authenticate(email=email, password=password)

        if account is not None:
            if account.is_active:
                login(request, account)
                token = get_jwt_token(account)
                return Response(token)
            else:
                return Response({
                    'status': 'Unauthorized',
                    'message': 'This account has been disabled.'
                }, status=status.HTTP_401_UNAUTHORIZED)
        else:
            return Response({
                'status': 'Unauthorized',
                'message': 'Username/password combination invalid.'
            }, status=status.HTTP_401_UNAUTHORIZED)

2 个答案:

答案 0 :(得分:0)

将问题分解为更小的步骤。

创建一个只返回维基百科页面上所有链接的程序。确保您的程序运行正常,如果卡住,请发布MCVE

与该程序分开,创建一个单独的程序,该程序采用硬编码的URL并返回URL具有的视图数。如果你遇到麻烦,再次发布MCVE。当您开始工作时,请转到一个程序,该程序采用硬编码的ArrayList URL并返回每个URL的综合浏览量。

然后当你让它们分别工作时,你就可以开始考虑将它们组合起来了。

答案 1 :(得分:0)

要获取文章中的链接,请使用API​​中的action=queryprops=links

在您的示例中:https://en.wikipedia.org/w/api.php?action=query&format=json&prop=links&meta=&titles=Albert+Einstein%7CHitler%7CSOA&pllimit=500

请注意,这不是所有结果(一次只能获得500个),因此您需要使用新请求中作为参数获取的plcontinue来发出更多请求。