Rick's Amsterdam, Bruges, Brussels book would have many recommendations for B&Bs and small hotels in both of those areas. This book is available here: http://travelstore.ricksteves.com/catalog/index.cfm?fuseaction=catalog&parent_id=158. I have included a few suggestions below to get you started.
Stempels Hotel, modern yet elegant, is located in a renovated 300-year-old building. With bare floors, comfy high-quality beds, and minimalist touches in its 17 rooms, what it lacks in warmth it makes up for in style and value. Double-paned windows help keep down the noise--it’s just a block east of Grote Markt--with a bustling brasserie and bar downstairs (standard Sb-€95, standard Db-€112-150, pricier rooms and suites available, breakfast-€12.50, in-room computers with free Internet access and Wi-Fi, elevator, Klokhuisplein 9, tel. 023/512-3910, www.stempelsinhaarlem.nl, firstname.lastname@example.org).
Hotel Amadeus, on Grote Markt, has 15 small, bright, and basic rooms, some with views of the square. This charming hotel, ideally located above an early 20th-century dinner café, is relatively quiet, especially if you take a room in the back. Its lush old lounge/breakfast room on the second floor overlooks the square, and Mike and Inez take good care of their guests (Sb-€60, Db-€85, check website for special deals, 5 percent Rick Steves discount off full price with 2-night stay and cash, free Wi-Fi, Grote Markt 10--from square it’s a steep climb to lounge, elevator inside ground-floor café if you need it, tel. 023/532-4530, fax 023/532-2328, www.amadeus-hotel.com, email@example.com). Hotel Amadeus’ breakfast room overlooking the main square is a great place to watch the town greet a new day--and one of my favorite Haarlem moments.
Bridges House Hotel, with 11 rooms around the corner from the Markt, is wood-beamed elegant and was once the home of painter Jan Steen. Energetic Robbert Willemse works hard to bring class and charm to this lovely canalside splurge (Sb-€99-112, Db-€112-142, higher prices are for very roomy junior suites, prices can be lower in winter, extra bed-€20, free Internet access and Wi-Fi, air-con, Oude Delft 74, tel. 015/212-4036, fax 015/213-3600, www.bridges-house.com, firstname.lastname@example.org).
Hotel Leeuwenbrug, a former warehouse and now a business-class hotel, has 36 classic Dutch rooms (some with canal views), Old World atmosphere, a generous breakfast buffet, and a helpful staff (very small Sb-€55, standard Sb-€69-78, deluxe Sb-€125, standard Db-€75-88, deluxe Db-€95-125, may be cheaper July-Aug--check their website for best rates, elevator, free Internet access and Wi-Fi, Koornmarkt 16, tel. 015/214-7741, fax 015/215-9759, www.leeuwenbrug.nl, email@example.com, Mr. Wubben).
Hotel de Koophandel has 25 painting-over-the-bed rooms right on the charming, lively, tree-and-restaurant-lined Beestenmarkt square (Sb-€94, Db-€114, Tb-€144, extra bed-€30, 3 ground-floor rooms, reception closed 23:00-7:00, free Internet access and Wi-Fi, Beestenmarkt 30, tel. 015/214-2302, fax 015/212-0674, www.hoteldekoophandel.nl, firstname.lastname@example.org).