1. Scrapism
  2. Intro to the Command Line
  3. Intro to Python
  4. Web Scraping Basics
  5. Using Real Browsers
  6. Scraping XHR
  7. Downloading & Editing Media
  8. Using Scrapy
  9. Readings & Resources


Web scraping describes techniques for automatically downloading and processing web content, or converting online text and other media into structured data that can then be used for various purposes. In short, the user writes a program to browse and analyze the web on their behalf, rather than doing so manually. This is a common practice in silicon valley, where open html pages are transformed into private property: Facebook began as a (horny) web scraping project, as did Google and all other search engines. Web scraping is also frequently used to acquire the massive datasets needed to train machine learning models, and has become an important research tool in fields such as journalism and sociology.

I define "scrapism" as the practice of web scraping for artistic, emotional, and critical ends. It combines aspects of data journalism, conceptual art, and hoarding, and offers a methodology to make sense of a world in which everything we do is mediated by internet companies. These companies surveill us, vacuum up every trace we leave behind, exploit our experiences and interject themselves into every possible moment. But in turn they also leave their own traces online, traces which when collected, filtered, and sorted can reveal (and possibly even alter) power relations. The premise of scrapism is that everything we need to know about power is online, hiding in plain sight.

This is a work-in-progress guide to web scraping as an artistic and critical practice, created by Sam Lavigne. I will be updating it over the coming months! I'll also be doing occasional live demos either on Twitch or YoutTube.

You can sign up to receive updates at: https://tinyletter.com/scrapism.

Feel free to email me with comments, questions, and corrections. Code for this site and examples can be found on GitHub.

Prerequisites: Please note that this guide is intended for those with some basic programming experience. You definitely don't have to be a pro (I'm not), but you should know what a variable is. To that end, the first two sections act as brief overviews/refreshers of important topics you'll need to be able to follow the rest of the guide.

Riot Gear for sale on Alibaba