If you don’t have specific dates for when you'd like to fly to Shanghai, try searching by month. It's also worth looking out for flights with Turkish Airlines, as their fares are normally the best-value.
Accommodation is typically pricier at this time of year too. If you want to go at this time of year, try looking at other cities in China to get a cheaper flight.
To get the flights you want, it's best to book as far in advance as possible – prices of both flights and accommodation tend to increased the closer you are to departure. To check hotel prices in Shanghai, simply use the tabs at the top of the page.