Don’t know if you’ve seen this post:
It gives you an XMLTV file with channels from Zap2It. You have some control over how much data you get and, at least on my Ubuntu boxes, it seems a reliable source of guide data. It should have both OTA and cable/sat listings.