A web app for downloading Facebook comments as a csv file

Overview

Facebook Comment Downloader

A small web app for downloading comments from a public facebook page post. Comment downloading from https://github.com/minimaxir/facebook-page-post-scraper

web app screenshot

Setup

pip install -r requirements.txt

Note: this will install Gunicorn and Gevent. These packages are not required if you choose a different server.

This application is set up to only download comments on posts from a specified public facebook page. You will need to register and configure a Facebook app. Once you've done this, fill out config.py with your information.

To get comment author and reactions info you will need to use a Page Access token from a user who has admin rights to the page. You can get a token by setting up a system user.

Be aware of the following restriction:

Devmode Apps — Apps in Devmode are now rate-limited to 200 calls per hour, per page-app pair, and can only access Users who have a role on the app (admin, developer, or tester).

https://developers.facebook.com/docs/graph-api/changelog/breaking-changes

Deployment

This project is built with Flask. Hosting is up to you, the Flask webpage lists some options.

Click below to deploy the app with Gunicorn on Heroku.

Deploy

Development Setup

pip install -r requirements-dev.txt
Start Flask dev server

FLASK_APP=fb_comment_downloader_app.py flask run

Run tests

python test_validation.py. Currently, we only have a few tests for checking the facebook urls.

Contributing

Find a bug? Got an idea? Send us a pull request or open an issue and we'll take a look. You can also check the issue tracker.

License

MIT

You might also like...
A discord bot for downloading youtube video and audio files

disctube disctube is a discord bot for downloading video and audio files from youtube using python pytube. disclaimer i am not the best python program

Userscript qutebrowser for downloading audio / video from youtube using aria2

Yt-Downloader Userscript qutebrowser for downloading video / audio from youtube using aria2 by hint links. Requirements Rofi youtube-dl aria2 dunst In

Python script for downloading audio from YouTube songs/videos.

Python script for downloading audio from YouTube songs/videos. All you have to do is specify the path to your folder and then type song's/video's name and the sound will be downloaded into your folder.

Utility for downloading works from AO3 (Archive Of Our Own)
Utility for downloading works from AO3 (Archive Of Our Own)

ao3d video preview A small graphical utility for batch downloading works from AO3 (Archive Of Our Own) Features Batch downloading works to supported f

Utility for downloading works from AO3 (Archive Of Our Own)
Utility for downloading works from AO3 (Archive Of Our Own)

froyo A small graphical application for batch downloading works from Archive Of Our Own (AO3). Curate a fic repo of your own today :) Features Batch d

Youtube_dl_helper - A hacky python script meant to automate the process of downloading mp3 files from YouTube using youtube-dl library

youtube_dl_helper A helper program meant to automate the process of downloading mp3 files from YouTube using youtube-dl library Dependencies In order

Gogoanime-dl - Gogoanime downloader for downloading anime.

gogoanime-dl With this script, you can download episodes of your favorite anime from Gogoanime. The current site that's developed against is https://w

A Python package for downloading / archiving all available episodes from a podcast RSS feed.
A Python package for downloading / archiving all available episodes from a podcast RSS feed.

allcasts 📻 🗃 A Python package for downloading all available episodes from a podcast RSS feed. Useful for making private archives of your favourite p

A simple python script and it's used for mp4 type video downloading from youtube.
A simple python script and it's used for mp4 type video downloading from youtube.

This is a simple python script and it's used for mp4 type video downloading from youtube. also, it's used inbuilt python module pytube. Furthermore, I know we have so many apps and online websites to do the same thing so it's just an experiment to study how to do those things in python.

Comments
  • OAuth Exception when accessing data from owned Pages

    OAuth Exception when accessing data from owned Pages

    With changes to Facebook's privacy strategy, apps that want to use the Page Public Content Access feature need to be submitted for review by Facebook.

    However...

    While testing and before submitting for review, your app may only access content that is available on a Page that you, as an app admin, developer, or tester, administer.

    Unfortunately, when attempting to access data from a page you own, the following error is returned:

    (#10) To use 'Page Public Content Access', your use of this endpoint must be reviewed 
    and approved by Facebook. To submit this 'Page Public Content Access' feature for review 
    please read our documentation on reviewable features: 
    https://developers.facebook.com/docs/apps/review.
    

    This seems to be a know issue and Facebook may be working on a fix.

    bug 
    opened by loganSims 1
  • Update requirements to fix identified vulnerabilities

    Update requirements to fix identified vulnerabilities

    Werkzeug

    CVE-2019-14806 Vulnerable versions: < 0.15.3 Patched version: 0.15.3 Pallets Werkzeug before 0.15.3, when used with Docker, has insufficient debugger PIN randomness because Docker containers share the same machine id.

    Jinja2

    CVE-2020-28493 Vulnerable versions: < 2.11.3 Patched version: 2.11.3 This affects the package jinja2 from 0.0.0 and before 2.11.3. The ReDOS vulnerability of the regex is mainly due to the sub-pattern [a-zA-Z0-9.-]+.[a-zA-Z0-9.-]+ This issue can be mitigated by Markdown to format user content instead of the urlize filter, or by implementing request timeouts and limiting process memory.

    CVE-2019-10906 Vulnerable versions: < 2.10.1 Patched version: 2.10.1 In Pallets Jinja before 2.10.1, str.format_map allows a sandbox escape.

    security 
    opened by waynedyck 0
  • Using ajax for post request instead of form submit

    Using ajax for post request instead of form submit

    Addresses issue #1.

    Now shows a spinner while requesting the csv data. Once the app has the data creates a download link for saving the csv. Removed flask error template message update in favor of editing page with selectors. Server now returns csv data or json with error message.

    opened by loganSims 0
  • Crashes when given posts from other public pages

    Crashes when given posts from other public pages

    For example... https://www.facebook.com/WashingtonStatePatrol/videos/vb.190565440958182/1814467131901330/?type=3&theater will crash the app if it's not configured for that page.

    This is because we don't handle 400 Errors from the Facebook api.

    bug 
    opened by loganSims 0
Owner
WSDOT
Washington State Department of Transportation
WSDOT
Download history data from binance and save to dataframe or csv file

Binance history data downloader Download history data from binance and save to dataframe or csv file

null 10 Dec 2, 2022
Download all posts and comments in a subreddit

subreddit downloader This subreddit downloader downloads all posts and comments in a subreddit For a tutorial to use this program please follow this m

Guneet 6 Dec 16, 2022
Download all posts and comments in a subreddit

subreddit downloader This subreddit downloader downloads all posts and comments in a subreddit For a tutorial to use this program please follow this m

Guneet 6 Dec 16, 2022
YT-Spammer-Purge - Allows you easily scan for and delete scam comments using several methods

YouTube Spammer Purge What Is This? - Allows you to filter and search for spamme

null 4.3k Dec 31, 2022
A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

pytube 7.9k Jan 2, 2023
Making the process of downloading youtube videos faster and more convinient.

Easy-YT Making the process of downloading youtube videos faster and more convinient. What can it do? This python script can be used to download youtub

Meynam 39 Nov 15, 2021
This script fully automates of downloading tiktok videos, editing them,compiling them and finally uploading them to youtube.

This script fully automates of downloading tiktok videos, editing them,compiling them and finally uploading them to youtube. If you wanted to create a tiktok video compiilation youtubbe channel this script is here to help you :D

Supriyo Sarkar 32 Dec 16, 2022
ImageScraper is a cross-platform tool for downloading a specified count from xkcd, Astronomy Picture of the Day and Existential Comics

ImageScraper The ImageScraper is a cross-platform tool for downloading a specified count from xkcd, Astronomy Picture of the Day and Existential Comic

1amnobody 1 Jan 25, 2022
A simple Python program which uses youtube-dl for downloading YouTube videos as mp3 files.

yt-mp3 converter This is a simple Python program which uses youtube-dl for downloading YouTube videos as mp3 files. This program is for you if you are

nostalgicnerdpenguin 1 Oct 24, 2021
This is a tool to allow downloading any links from r/Roms Magethread

ILYFPR This is a tool to allow downloading any links from r/Roms Magethread Limitations: It downloads ALL roms of the system you choose. This will be

Erase 4 Nov 4, 2021