Most Helpful Guy
1) Post your picture and dudes will tell you if you're pretty or not. In all seriousness, it's hard to say from our own perspectives whether or not we're attractive. People just don't judge themselves all that well.
2) You seem a bit desperate. Guys can sense that, just like girls can sense if a guy is desperate. Get more comfortable with yourself, and just get into the mindset of "I'm okay if I don't have a boyfriend right now."
3) You may, in fact, be very pretty, and that's intimidating all the guys. Watch out if that's the case, the few guys with the self confidence to approach you will often be jerks and will do nothing but mistreat you and destroy your self esteem.
4) Why not approach some guys you like. I'm not saying necessarily ask them out, but get friendlier with them and kind of let them know you're interested. Guys won't just go after some random pretty girl, they usually go after a girl they know a little bit.