• Stars
    star
    167
  • Rank 226,635 (Top 5 %)
  • Language
    JavaScript
  • License
    Other
  • Created about 3 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A browser extension to collect social media data with.

πŸ΄β€β˜ οΈ Zeeschuimer

DOI: 10.5281/zenodo.4742622 License: MPL 2.0

A screenshot of Zeeschuimer's status window

Zeeschuimer is a browser extension that monitors internet traffic while you are browsing a social media site, and collects data about the items you see in a platform's web interface for later systematic analysis. Its target audience is researchers who wish to systematically study content on social media platforms that resist conventional scraping or API-based data collection.

You can, for example, browse TikTok and later export a list of all posts you saw in the order you saw them in. Data can be exported as a JSON file or exported to a 4CAT instance for analysis and storage. Zeeschuimer is primarily intended as a companion to 4CAT, but you can also integrate its output into your own analysis pipeline.

Currently, it supports the following platforms:

Platform support requires regular maintenance to keep up with changes to the platforms. If something does not work, we welcome issues and pull requests.

The extension does not interfere with your normal browsing and never uploads data automatically, only when you explicitly ask it to do so. It uses the WebRequest browser API to locally collect and parse the data search engines are sending to your browser as you use it.

Installation

Zeeschuimer is in active development. .xpi files that you can use to install it in your browser are available on the releases page. These are signed and can be installed in any Firefox-based browser. If you want to run the latest development version instead, you can do so from the Firefox debugging console after cloning the repository locally.

How to use

A guide to using Zeeschuimer and 4CAT is available. Basic instructions are as follows:

Install the browser extension in a Firefox browser. A button with the Zeeschuimer logo (a 'Z') will appear in the browser toolbar. Click it to open the Zeeschuimer interface. Enable capturing for the sites you want to capture from.

Next, simply browse a supported platform's site. You will see the amount of items detected per platform increase as you browse. When you have the items you need, you can export the data as an ndjson file, or upload it to a 4CAT instance where a 4CAT dataset will be created from the uploaded items. You can then run 4CAT's analytical processors on the data.

To upload to 4CAT, copy the URL of the website of the 4CAT instance to the "4CAT instance" field at the top of Zeeschuimer's interface. You can then use the "to 4CAT" button to create a new 4CAT dataset from the captured data. After uploading, Zeeschuimer will show you a link and the ten most recently uploaded datasets are shown at the bottom of the interface.

Don't forget to reset the data as needed. For example, if you want to create a dataset for a given TikTok hashtag, first reset the TikTok data in Zeeschuimer, then go to the hashtag's "Explore" page on TikTok, and then upload the dataset when you've scrolled down enough to be satisfied with the amount of items.

If you find yourself scrolling a lot to collect data, consider using another browser extension to do it for you, for example FoxScroller.

Limitations

Due to the technical limitations, it may not be possible to collect all items from all 'views' for each supported platform. The following limitations are known:

  • Instagram items that cannot be captured:
    • Stories
    • Posts from the 'Tagged' and 'Reels' tabs on a profile page
    • Posts from the 'Saved' overview of bookmarked posts
    • Posts from the 'For You' feed on the 'Explore' page (the 'Not personalized' feed does work)
    • 'Suggested for you' and 'Sponsored' posts on the front page feed
  • TikTok items that cannot be captured:
    • Live streams

Note that these are known limitations; data capture may break or change based on platform changes. Always cross-reference captured data with what you are seeing in your browser.

Credits & license

Zeeschuimer was developed by Stijn Peeters for the Digital Methods Initiative and is licensed under the Mozilla Public License, 2.0. Refer to the LICENSE file for more information.

Graphics based on an image generated by Dall-E, for the prompt 'detail of a 1914 metaphysical painting by giorgio de chirico depicting a buccaneer pensively looking out over the open sea'. Interface icons by Font Awesome. Open Sans and Lobster fonts from Google Fonts.

Development is supported by the Dutch PDI-SSH foundation through the CAT4SMR project.