Buying souvenirs is not a problem in St Petersburg since there are many souvenir shops along the Nevsky prospekt and some trade tents close to the main attractions. Some addresses that may be useful.
Dom Knigi ( House of books) on Nevsky prospect, 28 has a big department of souvenir books about St Petersburg in foreign languages. You can easily find there guidebooks, colorful gift-books, postcards, calendars and other small souvenirs.
Chocolate museum in St Petersburg
Nevsky, 17 and Nevsky, 62
A famous chocolate shop where you can buy chocolate souvenirs, hand-made sculptures and even chocolate bust of Lenin .
Shops of Krupskaya Chocolate factory
While Chocolate museum is more tourist-oriented, this factory named after Lenin’s wife is one of the oldest and I would say the most famous chocolate factories in Saint-Petersburg. Prices are democratic and you can easily find their chocolate in major supermarkets of Saint-Petersburg. They have big variety of chocolate, but my favorites are Oсобый (Osobiy) and Тройка (Troyka). They have many shops in the city, some can be found at Vosstaniya street 15,Sredniy Prospect 28 or in Gostinniy Dvor on Nevsky prospect.
Imperial porcelain factory
Legendary porcelain factory, founded in 1744, offers the opportunity to buy as souvenirs tea sets with views of Saint-Petersburg, cobalt net or sets hand-painted by modern Russian artists. The factory has stores on Nevsky prospect, 60, on the 2nd floor of Gostinniy Dvor ( Nevskiy, 35), Mikhailovskaya street 27 ( Grand hotel Europe). The whole list of stores can be found here http://www.ipm.ru/enwheretobuy
Standard souvenirs like matryoshka dolls, cups or T-shirts with views of Saint-Petersburg can be found, for example, in the underground crossing of Gostinniy Dvor metro station and Mikhailovskaya street or in numerous souvenir shops on the first floor of Gostinniy dvor ( entrance from Nevsky prospect) or Passage, big shopping centers in downtown St Petersburg.