A simple selenium-dependent python scraper for Facebook groups.
Requirements:
- Python 3.6 or newer
- Selenium (automatically installed)
Install via pypi: fbgs
# pypi
pip3 install fbgs
# local
git clone https://github.com/lesander/facebook-group-scraper.git
cd facebook-group-scraper/
pip3 install -r requirements.txt
Cli usage:
# local & pypi
python3 -m fbgs \
--username user@example.com \
--password "example-password" \
--url https://m.facebook.com/groups/group-name \
--output ./path/for/output.json \
--no-shell # toggle to disable default selenium interactive prompt
Programmatic usage:
from fbgs import FacebookScraper
from fbgs.exceptions import ScraperException
try:
scraper = FacebookScraper(
username="user@example.com", password="example-password")
scraper.login()
group = scraper.scrape_group(url="https://m.facebook.com/groups/group-name", out="output-example.json")
# results are stored in group
print(group.name, len(group.posts))
# you can start a live interaction with the selenium driver
scraper.interactive()
except ScraperException as e:
print(f'ScraperException: {e}')