A linear map T from a Banach algebra A into another B preserves zero products if T(a)T(b) = 0 whenever a,b ∈ A are such that ab = 0. This paper is mainly concerned with the question of whether every continuous linear surjective map T: A → B that preserves zero products is a weighted homomorphism. We show that this is indeed the case for a large class of Banach algebras which includes group algebras. Our method involves continuous bilinear maps ϕ: A × A → X (for some Banach space X) with the property that ϕ(a,b) = 0 whenever a,b ∈ A are such that ab = 0. We prove that such a map necessarily satisfies ϕ(aμ,b) = ϕ(a,μ b) for all a,b ∈ A and for all μ from the closure with respect to the strong operator topology of the subalgebra of ℳ(A) (the multiplier algebra of A) generated by doubly power-bounded elements of ℳ(A). This method is also shown to be useful for characterizing derivations through the zero products.