January 13, 2020

865 words 5 mins read

harismuneer/Ultimate-Facebook-Scraper

harismuneer/Ultimate-Facebook-Scraper

A bot which scrapes almost everything about a Facebook user’s profile including all public posts/statuses available on the user’s timeline, uploaded photos, tagged photos, videos, friends list and their profile photos (including Followers, Following, Work Friends, College Friends etc).

repo name harismuneer/Ultimate-Facebook-Scraper
repo link https://github.com/harismuneer/Ultimate-Facebook-Scraper
homepage
language Python
size (curr.) 27310 kB
stars (curr.) 1501
created 2018-08-22
license MIT License

News Updates ๐Ÿ†

Features ๐Ÿš€

A bot which scrapes almost everything about a user’s Facebook profile including:

  • uploaded photos
  • tagged photos
  • videos
  • friends list and their profile photos (including Followers, Following, Work Friends, College Friends etc)
  • and all public posts/statuses available on the user’s timeline.

Data is scraped in an organized format to be used for educational/research purposes by researchers. This scraper does not use Facebook’s Graph API meaning there are no rate limiting issues.

This tool is being used by thousands of developers weekly and we are pretty amazed at this response! Thank you!๐ŸŽ‰

For citing/referencing this tool for your research, check the ‘Citation’ section below.

Note ๐Ÿค

This tool uses xpaths of ‘divs’ to extract data. Since Facebook updates its site frequently, the ‘divs’ get changed. Consequently, we have to update the divs accordingly to correctly scrape data.

The developers of this tool have devoted time and effort in developing, and maintaining this tool for a long time. In order to keep this amazing tool alive, we need support from you geeks.

The code is intuitive and easy to understand, so you can update the relevant xpaths in the code if you find data is not being scraped from profiles. Facebook has most likely updated their site, so please generate a pull request. Much appreciated!

Sample

Screenshot


Usage ๐Ÿ”ง

Installation ๐Ÿ’ป

You will need to:

$ git clone https://github.com/harismuneer/Ultimate-Facebook-Scraper.git
$ cd Ultimate-Facebook-Scraper

# Set up a virtual env
$ python3 -m venv venv
$ source venv/bin/activate

# Install Python requirements
$ pip install -e .

The code is multi-platform and is tested on both Windows and Linux. The tool uses latest version of Chrome Web Driver. I have placed the webdriver along with the code but if that version doesn’t work then replace the chrome web driver with the latest one according to your platform and your Google Chrome version.

How to Run

  • Fill your Facebook credentials into credentials.yaml
  • Edit the input.txt file and add many profiles links as you want in the following format with each link on a new line:

Make sure the link only contains the username or id number at the end and not any other stuff. Make sure its in the format mentioned above.

Note: There are two modes to download Friends Profile Pics and the user’s Photos: Large Size and Small Size. You can change the following variables in scraper/scraper.py. By default they are set to Small Sized Pics because its really quick while Large Size Mode takes time depending on the number of pictures to download

# whether to download the full image or its thumbnail (small size)
# if small size is True then it will be very quick else if its False then it will open each photo to download it
# and it will take much more time
friends_small_size = True
photos_small_size = True

Run the ultimate-facebook-scraper command ! ๐Ÿš€


Citation ๐Ÿ“š

If you use this tool for your research, then kindly cite it. Click the above badge for more information regarding the complete citation for this tool and diffferent citation formats like IEEE, APA etc.


Important Message โš ๏ธ

This tool is for research purposes only. Hence, the developers of this tool won’t be responsible for any misuse of data collected using this tool. Used by many researchers and open source intelligence (OSINT) analysts.

This tool will not works if your account was set up with 2FA. You must disable it before using.


Authors ๐Ÿ‘‹

You can get in touch with us on our LinkedIn Profiles:

Haris Muneer

LinkedIn Link

You can also follow my GitHub Profile to stay updated about my latest projects: GitHub Follow

Hassaan Elahi

LinkedIn Link

You can also follow my GitHub Profile to stay updated about my latest projects: GitHub Follow

If you liked the repo then please support it by giving it a star โญ!

For Future ๐Ÿ”ฎ

Shoutout to geeks willing to contribute to this project. Please have a look at the UFS kanban board for a list of things to be done.

There are a lot of features that can be added to this tool like adding support for pages, groups, comments etc! Please contribute :)

Contributions Welcome โœจ

forthebadge

If you find any bug in the code or have any improvements in mind then feel free to generate a pull request.

Note: We use Black to lint Python files. Please use it in order to have a valid pull request ๐Ÿ˜‰

Issues ๐Ÿ”จ

GitHub Issues

If you face any issue, you can create a new issue in the Issues Tab and I will be glad to help you out.

License ๐Ÿ“„

MIT

Copyright (c) 2018-present, harismuneer, Hassaan-Elahi

comments powered by Disqus