If you have modest power requirements for gear on your bike (e.g. lights), then I agree with Adrian and omnibot's recommendations, below. Most of those generators use a dynamo (a wheel that contacts the rear wheel of the bike, drawing some power through friction.)The problem with these is that they can be heavy, make noise, add moving parts, and add friction to your ride. A much smoother, quieter solution is simply to use magnetic induction. This will work well if all you need is a little power for LED lights. I just finished an instructable showing how I did this on my bike (it uses a commercial product, but I also link to DIY versions in step 2):https://www.instructables.com/id/Magnetic_Induction_Bike_Lights/Good luck!