The best was to find guest post opportunities is to search google. Make sure when you do your search that you use the most broad keyword in you niche, I.E: shopping "guest post"
By using the most broad keywords you will find the more authoritative blogs in you industry which is going to give more weight for your site in the SERPS.
To gain guest posts on you blog you should start off by asking people that you know in you social network and make sure that you include guest post in your title, this way people will find your site in google.
Also be sure to share your post in Facebook, twitter and google+ and include guest post in the description as people are also searching for guest post opportunities on sites like twitter.