scraping 1.0.0 copy "scraping: ^1.0.0" to clipboard
scraping: ^1.0.0 copied to clipboard

An ethical and philosophical annotation to let people know that your code may rely on scraping.

An ethical and philosophical annotation to let people know that your code may rely on scraping.


Why? #

While working with many web-based services, I repeatedly ran into the same frustrating issue: missing links.
Not broken <a></a> tags — but missing connections between data visible in the user interface and absent from the official API responses.

For years, I refused to use scraping — the act of programmatically reading the raw content of a web page to extract data — since it may cause unnecessary load on target servers and raises ethical concerns.

But as time passed, these issues became more common, and the maintainers of those websites often refused to fix or improve their APIs.


The Idea #

So I came up with a simple idea:
Create a @Scraping annotation to mark methods or classes that rely on scraping techniques.

This makes it clear to users of your code that they are stepping into a grey area of software practice.

It is not about encouraging scraping, but about acknowledging it transparently.


Usage #

import 'package:scraping/scraping.dart';

@Scraping()
final class WebScraper {
  
  @Scraping()
  Future<String> fetch(final Uri uri) async {
    return Future.value('random data');
  }
  
}
0
likes
150
points
4
downloads

Publisher

unverified uploader

Weekly Downloads

An ethical and philosophical annotation to let people know that your code may rely on scraping.

Repository

Documentation

API reference

License

unknown (license)

Dependencies

meta

More

Packages that depend on scraping