This seems to be the closest category, so here goes.
I’m a CS professor at Rice University. Among other things, I teach a CS class taken by our 2nd-year students that covers a lot of ground (Java, functional programming, and more). We have our students building a parser for JSON, and I hit on the that it would be clever to add a week of using that parser to look at “real” data from a web API. I’m thinking I’d have them do something relatively simple like gather timestamps for 10 hashtags and plot the relative frequencies of their use over time.
My question is how to do this in a way that will keep the Twitter rate limiters and associated mechanisms happy. I could have every student create their own “app” and thus get their own keys. My worry is that 200 students running their crawling tools within hours of the final submission deadline, all coming from Rice IP addresses, look collectively like one bigger crawler trying to violate Twitter’s rules.
Alternatively, I suppose I could get one set of credentials and share it with all of the students. Then the issue is that one student can blow out the rate limiter and nobody else can make any queries.
Any suggestions on how best to do this?