Raspagem de dados dos campeonatos de surf da World Surf League

Estou raspando os dados dos campeonatos masculinos profissionais da World Surf League.
Quero ao final obter um dataframe cujas colunas representem todas especificações das competições: ano, número da etapa, local da etapa, nome da etapa (em geral o patrocinador), round (eliminatórias, quartas e final, semifinal e final), bateria (heat), atletas e notas (score).

Cada etapa tem uma série de rounds, que é formado por um grupo de baterias, que tem 2, 3 ou 4 atletas (pegando onda ao mesmo tempo). As duas melhores ondas são somadas e constituem a pontuação do atleta na bateria. A maior pontuação segue ao round seguinte.

Como o número de rounds, baterias e atletas não é uniforme a cada campeonato, não estou conseguindo raspar estas informações. Quanto a ano, número da etapa - stop, local da etapa, nome da etapa está tudo OK .

Se puder dar uma sugestão para fazer isso ficarei muito grato.

A etapa de 2009 é encontrada no link abaixo.

https://www.worldsurfleague.com/events/2019/mct