At least 31 people have been killed in Israeli attacks across southern Lebanon.