As a main result, we design a simple ascending-price algorithm to compute a (1+eps)-approx. equilibrium in exchange markets with weak gross substitute (WGS) property. It runs in time polynomial in market parameters and log(1/eps). This is the first efficient algorithm for this broad class of markets which is easy to implement and avoids heavy machinery such as the ellipsoid method. Moreover, we show how to extend our approach to obtain the first efficient algorithm for exact equilibria in markets with spending constraint utilities. Finally, we touch upon a novel descending-price technique that yields the first efficient algorithm for Fisher markets with budget-additive utilities.