I have not been to Shanghai. I think you will need a visa to go there. Hong Kong you don't need a visa.
I spent a week in HKG last month and really enjoyed the area.The deluxe city tour, 5 hours on Grayline for $37 US, is a good tour. I would also recommend the harbour cruise, 2 hours for $28 US.
Good Luck