And, I'm thinking, I don't know if you need to recreate the 30040 HTML pages every single time, or if you could have server-side storage and just check if it's up to date, before starting the download. The only really "dynamic" part is the reviews and highlights and etc., but you could process them, separately.
Don't know, which is faster and more-efficient.