We consider non-conservative positive semigroups and obtain necessary and sufficient conditions for uniform exponential contraction in weighted total variation norm. This ensures the existence of Perron eigenelements and provides quantitative estimates of the spectral gap, complementing Krein-Rutman theorems and generalizing probabilistic approaches. The proof is based on a non-homogenous $h$-transform of the semigroup and the construction of Lyapunov functions for this latter. It exploits then the classical necessary and sufficient conditions of Harris's theorem for conservative semigroups and recent techniques developed for the study of absorbed Markov processes. We apply these results to population dynamics. We obtain exponential converg...