Facebook Spy is a versatile Python-based tool designed to scrape various data from Facebook profiles. Whether you need basic information or want to delve deep into a user's activity, Facebook Spy has you covered.
Report Bug
·
Request Feature
If you're using a Facebook account with a custom ID in the URL (e.g., https://www.facebook.com/zuck), Facebook Spy will work smoothly. However, for accounts with default IDs in the URL, certain scrapers may not function as expected. These include scrapers for work and education, contact data, visited places, family members, recent places, reviews, and likes. Rest assured, we're actively working to resolve this issue
The project, known as "Facebook Spy," is a powerful and versatile tool designed to gather information from Facebook profiles.
Facebook Spy was created to provide users with the ability to access information from Facebook profiles. The project is under constant development to improve its functionality and address any issues that may arise.
One notable limitation of the tool is that some scrapers may not work correctly for profiles with default account IDs in the URL, such as "https://www.facebook.com/profile.php?id=100063142210972." These scrapers include work and education history, contact data, visited places, family members, recent places, reviews, and likes. However, this issue does not occur for profiles with custom IDs in the URL, like "https://www.facebook.com/zuck.".
- Login - Perform a secure two-step verification process to log in to Facebook account with enhanced security settings or log in to Facebook account using the default login method.
- Scrape details like: friend list, images, recent places, videos, reels, reviews, posts, likes, groups, events etc.
- Local web application - User is able to run a loval web application to browse scraped data, create notes for specified Person object and easly search details in web.
- Video downloader - download all scraped videos from facebook account or just by add passed url.
- Create a graphical representation of connections between different Facebook profiles based on their friendships.
- Utilize a free open-source language model to generate a concise summary of a Facebook user's infromation based on the scraped data.
- Initiate a friend crawler for a specified Facebook account. Gether data about friends and contunue the process for subsequent users in the queue.
- Save scraped data for a specified Facebook user to PDF file for documentation and anylysis.
- Python
- Typer
- FastAPI
- Selenium
- SQLite
- HTML / CSS / Bootstrap5
- Clone git repository
git clone https://github.com/DEENUU1/facebook-spy.git
- Create dotenv file and add required data
cp .env_example .env
- Install all requirements
pip install -r requirements.txt
- Change directory to facebookspy to run commands
cd facebookspy
To run pytests use this command
pytest
This is just a few examples of how you can use this tool. For more comments check Documentation
python main.py version
python main.py login-2-step
OR
python main.py login
python main.py scrape-basic-data <facebook_id>
This one works for multiply users
python main.py full-scrape <facebook_id> <facebook_id> ... <facebook_id>
python main.py scrape-images <facebook_id>
After successfull scrape you are able to download this videos
python main.py scrape-video-urls <facebook_id>
This command works similarly to the command that scrapes data about a given user's friends list. The difference, however, is that after scraping and creating Friend objects, it also creates objects for the CrawlerQueue model and after successfully scraping friends for one user, it proceeds to scraping the list of friends for the next user in the queue.
python main.py friend-crawler <facebook_id>
Graph of connections between Person objects based on ther friends.
python main.py graph
See LICENSE.txt
for more information.