Basically: Well-behaved and well-intentioned scraping bots are rare. You’d get a lot of users setting update rates to 60 seconds that did a new login every time and creating as much traffic as 1000 users. Then they’d release the script for integration with something people and suddenly you have 1000 people each creating 1000 times as many login requests as a single user.
Another common problem was forgetting to implement reasonable back off for failures. A lot of newbies write scripts that immediately retry on a tight infinite loop whenever something goes wrong, sending a huge stream of requests to your server if the API changes or when it goes down. Again, multiply this by many users sharing a script and it becomes a problem.
Then of course there are people trying to make a business out of extracting your company’s data, such as putting it in some other website where they can serve ads over your content or whatever (think of all of those StackOverflow scraping websites in Google)
Basically, you can’t investigate the motivations of each individual user. You just block them all.
What's illegitimate is that "attempting to ban programmatic access" is on the table as a legal redress.
The only way, from a technical moral standpoint, I could see that being remotely reasonable is if there was 1:1 feature and access parity with an API, then being able to legally force agents to use the API.
But critically that's 1:1 feature - if a user can do it, the API offers a method to do it.
And 1:1 access - if an unauthenticated user can do it, then no mandating an account is required for API use. And if any user can do it, then any user will be approved for an API key.
Otherwise, it's just ceding more power to companies.
Why can't you just ignore API requests once it exceeds a threshold rate?
Not to mention, actually malicious traffic will find any non-Sybil criterion you use to enforce rate limits and work around it. "Enforce rate limits per User-Agent?" I'm now 10,000 different applications. "Enforce rate limits per IP address?" I'm now 10,000 different compromised residential IP addresses. At some point, distinguishing between well-behaved, buggy-but-legitimate, and outright malicious automated traffic is either impossible or too time-consuming. Upon which point you throw up your hands and say, "Screw it, everyone but Google or a browser is banned."
Thanks! Why don't malicious actors just spoof browsers?
More generally, I would think that any defense that prevented malicious actors would prevent badly written scrapers, simply because malicious actors can do anything a badly written scraper could do, but can also take more active steps to evade defenses.
(These are honest questions; I have very little knowledge about this.)
If I can do this by hand there's no legal reason I can't do it by machine. You can try to defend against it, I guess, but the second you start impacting your obligations to someone else (like disabling their account after they paid you) you are in the wrong.
Having a driver’s license does not grant someone acting on your behalf the right to drive on public roads if they don’t have their own license. And more directly it also doesn’t grant you the ability to use your autonomous driving software on public roads either.
You don’t need to scrape stack overflow, you can just download a .zip
That’s one reason why people use it: they can’t just gate you off from the content you’ve created. You and others can (and will/do) have a copy of it all.
https://meta.stackoverflow.com/questions/295508/download-sta...
The solution to someone constantly spamming your phone is not too pick up each call and say “call back later” bit to block their number.
The moment I become AWS and need to support millions of those poorly written bots because they’re my customers I’ll bother.
but not if you write it yourself, apparently.
Lots of us built our own stacks and attempt to fly under the radar - things have gotten legally gray over the last two years and corporations have no problem sending their legal team to kick your door down for trivial stuff.
My biggest fear/risk was getting noticed and sued by the company, merely for letting users request HTML and display it differently than the company wished. The app is no longer available, so I guess I survived but the idea of $BIGCO crushing me with lawyers was chilling.
except we didn't write this platform, we paid for it. and it is licensed per 100 queries.
so when. a single account starts doing 30k queries every hour, 24/7. the pocketbook was directly hit. and yes, web scraping was in the tos that every account agreed to but never read