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
We’re 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
timeandpost_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
- facebook-post-scraper. Has comments. Uses Selenium.
- facebook-scraper-selenium. "Scrape posts from any group or user into a .csv file without needing to register for any API access".
- Ultimate Facebook Scraper. "Scrapes almost everything about a Facebook user's profile". Uses Selenium.
- Unofficial APIs. List of unofficial APIs for various services, none for Facebook for now, but might be worth to check in the future.
- major-scrapy-spiders. Has a profile spider for Scrapy.
- facebook-page-post-scraper. Seems abandoned.
- FBLYZE. Fork (?).
- RSSHub. Generates an RSS feed from Facebook pages.
- RSS-Bridge. Also generates RSS feeds from Facebook pages.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bb8534e736ceaa4437a47bd4377cdafe4a2fbbb11f7bcc65c3b3c618a9e3886
|
|
| MD5 |
435fa814b80eaaecd10745a0f240fdf8
|
|
| BLAKE2b-256 |
061c696a4dd8bc26fef283608fec00d4afa81fd7fd3149c557ea4c5a0bc7d30f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88bb5f213c161f2bf27a83865783e1d8f12c30a3c2f98fdcd55f9422413c996f
|
|
| MD5 |
5e36e68bec9312b4ba6b35ae8359aeab
|
|
| BLAKE2b-256 |
57e95aa596e32a24a5a215718cfc1296d9a7a04f7eae6b22c96caa3218579442
|