Skip to main content

Scrape Facebook public pages without an API key

Reason this release was yanked:

Don't use, throws exception

Project description

Facebook Scraper

Scrape Facebook public pages without an API key. Inspired by twitter-scraper.

Install

pip install facebook-scraper

Usage

Send the unique page name as the first parameter and you're good to go:

>>> from facebook_scraper import get_posts

>>> for post in get_posts('nintendo', pages=1):
...     print(post['text'][:50])
...
The final step on the road to the Super Smash Bros
Were headed to PAX East 3/28-3/31 with new games

Optional parameters

(For the get_posts function).

  • group: group id, to scrape groups instead of pages. Default is None.
  • pages: how many pages of posts to request, the first 2 pages may have no results, so try with a number greater than 2. Default is 10.
  • timeout: how many seconds to wait before timing out. Default is 5.
  • credentials: tuple of user and password to login before requesting the posts. Default is None.
  • extra_info: bool, if true the function will try to do an extra request to get the post reactions. Default is False.
  • youtube_dl: bool, use Youtube-DL for (high-quality) video extraction. You need to have youtube-dl installed on your environment. Default is False.

CLI usage

$ facebook-scraper --filename nintendo_page_posts.csv --pages 10 nintendo

Run facebook-scraper --help for more details on CLI usage.

Note: If you get a UnicodeEncodeError try adding --encoding utf-8.

Post example

{'post_id': '2257188721032235',
 'text': 'Don’t let this diminutive version of the Hero of Time fool you, '
         'Young Link is just as heroic as his fully grown version! Young Link '
         'joins the Super Smash Bros. series of amiibo figures!',
 'time': datetime.datetime(2019, 4, 29, 12, 0, 1),
 'image': 'https://scontent.flim16-1.fna.fbcdn.net'
          '/v/t1.0-0/cp0/e15/q65/p320x320'
          '/58680860_2257182054366235_1985558733786185728_n.jpg'
          '?_nc_cat=1&_nc_ht=scontent.flim16-1.fna'
          '&oh=31b0ba32ec7886e95a5478c479ba1d38&oe=5D6CDEE4',
 'images': ['https://scontent.flim16-1.fna.fbcdn.net'
          '/v/t1.0-0/cp0/e15/q65/p320x320'
          '/58680860_2257182054366235_1985558733786185728_n.jpg'
          '?_nc_cat=1&_nc_ht=scontent.flim16-1.fna'
          '&oh=31b0ba32ec7886e95a5478c479ba1d38&oe=5D6CDEE4'],
 'likes': 2036,
 'comments': 214,
 'shares': 0,
 'reactions': {'like': 135, 'love': 64, 'haha': 10, 'wow': 4, 'anger': 1},  # if `extra_info` was set
 'post_url': 'https://m.facebook.com/story.php'
             '?story_fbid=2257188721032235&id=119240841493711',
 'link': 'https://bit.ly/something', 
 'is_live': False}

Notes

  • There is no guarantee that every field will be extracted (they might be None).
  • Shares doesn't seem to work at the moment.
  • Group posts may be missing some fields like time and post_url.
  • Group scraping may return only one page and not work on private groups.

To-Do

  • Async support
  • Image galleries
  • Profiles or post authors
  • Comments

Alternatives and related projects

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

facebook-scraper-0.2.23.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

facebook_scraper-0.2.23-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file facebook-scraper-0.2.23.tar.gz.

File metadata

  • Download URL: facebook-scraper-0.2.23.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.5 CPython/3.9.2 Linux/5.10.19-1-MANJARO

File hashes

Hashes for facebook-scraper-0.2.23.tar.gz
Algorithm Hash digest
SHA256 4bb8534e736ceaa4437a47bd4377cdafe4a2fbbb11f7bcc65c3b3c618a9e3886
MD5 435fa814b80eaaecd10745a0f240fdf8
BLAKE2b-256 061c696a4dd8bc26fef283608fec00d4afa81fd7fd3149c557ea4c5a0bc7d30f

See more details on using hashes here.

File details

Details for the file facebook_scraper-0.2.23-py3-none-any.whl.

File metadata

  • Download URL: facebook_scraper-0.2.23-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.5 CPython/3.9.2 Linux/5.10.19-1-MANJARO

File hashes

Hashes for facebook_scraper-0.2.23-py3-none-any.whl
Algorithm Hash digest
SHA256 88bb5f213c161f2bf27a83865783e1d8f12c30a3c2f98fdcd55f9422413c996f
MD5 5e36e68bec9312b4ba6b35ae8359aeab
BLAKE2b-256 57e95aa596e32a24a5a215718cfc1296d9a7a04f7eae6b22c96caa3218579442

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page