It would be best to use the Streaming API for this, either just listening to the statuses/sample.json endpoint and discarding non-geo-tagged tweets for 24 hours, or building a few bounding boxes in locations you’re interested in and using statuses/filter.json – this way instead of going back in time and picking up the pieces of 24 hours in the past, you collect 24 hours as it happens.