Hai ragione, ma non sono gli attributi che mi spaventano, ma la quantità di tag, e visto che superano di gran lunga il migliaio in una pagina e tenendo anche conto che il numero di pagine può variare da una decina a oltre 30, puoi capire che ammettendo che l'inserzione degli attributi di un tag in un dict avvenga in media in 0,0001 secondi (e la mia è una stima molto a caso, visto che non ho testato, quindi correggetemi se sbaglio) e moltiplicando questa cifra per almeno 1000 (stima anche questa) e il risultato lo moltiplichiamo ancora per il numero di pagine stimate (diciamo 30) avremmo circa 3 secondi di elaborazione, che vorrei poter ottimizzare se è possibile.
Tra l'altro sarei curioso di sapere in che modo beautifulsoup elabora i tag in maniera da non avere problemi di ordinamento come HTMLParser ed essere relativamente veloce. Sicuramente ho qualche deficit nelle mie conoscenze in fatto di parsing.
Grazie ancora