Lando Norris bested McLaren teammate Oscar Piastri to pole position for the Belgian Grand Prix despite failing to improve with his final flying lap.