Toolkit for Dissenter
Project description
Ressenter
Ressenter is a command line tool to pull content from Dissenter.com, a browser-based social network operated by Gab.com. (We will not reward either of these domains with hyperlinks.)
This tool does not require any authentication with Dissenter; all the data it pulls is available publicly.
Currently, this tool can:
- Reliably pull all comments made on Dissenter within the last seven days
- Pull the current 'top' comments
- Pull the current 'controversial' comments
- Pull the current trending URLs
- Pull all the comments for a particular URL
- Pull all the comments made by a particular user
Robustness
This tool was made by reverse engineering Dissenter's API. (To be fair, it wasn't that hard.) Because we have no insight into Dissenter's internals, there's no guarantee that this tool provides an exhaustive or reliable archive of Dissenter content.
For example, we don't know whether comments become inaccessible after some period of time, or whether there is a limit on how many comments we can pull from any particular user.
Usage
Usage: ressenter [OPTIONS] COMMAND [ARGS]...
Options:
--format [jsonl|csv] output format
--help Show this message and exit.
Commands:
comments Pull all the most recent comments
trending Pull the current trending URLs
url Pull comments for a particular URL.
user Pull all the comments of a particular user
Ressenter can output data to jsonl
and csv
(the default is jsonl
). Just pass the --format
option before the subcommand (e.g., ressenter --format=csv comments
). All data is currently written to stdout
; to save output to a file, use pipes (e.g., ressenter comments > comments.jsonl
).
comments
Usage: ressenter comments [OPTIONS]
Pull all the most recent comments
Options:
--sort [latest|controversial|top]
comment sort order
--after-id TEXT pull no earlier than this comment ID
--after-time TEXT pull no comments posted earlier than this
time
--max INTEGER maximum number of comments to pull
--help Show this message and exit.
trending
Usage: ressenter trending [OPTIONS]
Pull the current trending URLs
Options:
--help Show this message and exit.
url
Usage: ressenter url [OPTIONS] URL
Pull comments for a particular URL. Note that several comment metadata
items (such as upvotes, downvotes, and comments) are not available when
pulling comments from a URL.
Options:
--sort [latest|controversial|top]
comment sort order
--after-id TEXT pull no earlier than this comment ID
--after-time TEXT pull no comments posted earlier than this
time
--max INTEGER maximum number of comments to pull
--help Show this message and exit.
user
Usage: ressenter user [OPTIONS] USER
Pull all the comments of a particular user, identified by their UID
Options:
--sort [latest|controversial|top]
comment sort order
--after-id TEXT pull no earlier than this comment ID
--after-time TEXT pull no comments posted earlier than this
time
--max INTEGER maximum number of comments to pull
--help Show this message and exit.
Playbook
Here are some common use cases:
Pull all the most recent comments
ressenter comments
Pull all the recent top comments
ressenter comments --sort=top
Pull all the recent controversial comments
ressenter comments --sort=controversial
Pull all comments made in the past hour
ressenter comments --after-time "one hour ago"
Pull all the current trending URLs
ressenter trending
Pull all of the comments for a particular URL
ressenter url https://www.facebook.com
Development
To run Ressenter locally, perform the following steps:
- Install dependencies with
pipenv install
- Activate the virtual environment with
pipenv shell
- Run the tool using
main.py
-- for example,./main.py comments
Packaging and Publishing
- Make sure you have access to PyPI credentials with permission for the
ressenter
repository. - Clear the
dist/
folder (rm dist/*
). - Package everything with
python setup.py sdist bdist_wheel
. - Check the packaging with
twine check dist/*
. - Upload with
twine upload dist/*
.
Troubleshooting
If you work at the Stanford Internet Observatory, ping Miles McCain on Slack or via email to get help with Ressenter. To report bugs or submit feature requests, please open an issue.
Desired Features
There are a few features that this tool currently lacks, but that we'd like to add. We haven't yet found reliable ways to extract this data. (If you have, please let us know!)
- Find the most recent URLs commented on
- Iterate through all the URLs with comments
- Iterate through all comments, instead of just those made in the past seven days
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ressenter-0.0.3.tar.gz
.
File metadata
- Download URL: ressenter-0.0.3.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dea9f54150b03295187e92e7cca30dfb94491d3ded8636ac0a0e631c445113b |
|
MD5 | a7e559aeacf7bf138603c7864bbbdfa6 |
|
BLAKE2b-256 | 6ee96390d7956d5c2d38b7a81368752de5ef07d20503f96fdce61079a612be1a |
File details
Details for the file ressenter-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: ressenter-0.0.3-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eabc5e14b40b34e556a4e8ce6428b39077185379fe014c96bcd4ae8e8fd4578f |
|
MD5 | 7edc2d1e55a6d3567000deacb546f4b6 |
|
BLAKE2b-256 | 27558b0a24a356fbfb99115ef99a5e9a077551ae4339f0f39c838de5e61998a2 |