FacebookPostsScraper
FacebookPostsScraper copied to clipboard
Scraper for posts in Facebook user profiles, pages and groups
FacebookPostsScraper
Scraper for posts in Facebook user profiles, pages and groups.
Extracts list of dicts with:
| params | description |
|---|---|
| published | Formatted datetime of published |
| description | Post text content |
| images | List of images in posts |
| post_url | The unique post url |
| external_links | External links found in description |
| like_url | The Like url |
Installation
1.Get Python (recommended Python 3.7+)
2.Clone or download this repository
git clone https://github.com/adeoy/FacebookPostsScraper.git
3.Install the Python requirements
pip install -r requirements.txt
4.Follow the examples.
Description
The FacebookPostsScraper Class
Constructor params:
| param | description |
|---|---|
| Your email to access Facebook | |
| password | Your password to access Facebook |
| post_url_text | This is the text in the Url that opens the posts in mobile version, use when your Facebook isn't in English |
When instantiate object it autologs in, and sets the session and save a cookie file for future use.
Methods
get_posts_from_profile
params:
- profile url
return:
- list of dicts with the data described above
get_posts_from_list
params:
- list of profile urls
return:
- list of list of dicts with the data described above
Examples
Example with single url
from FacebookPostsScraper import FacebookPostsScraper as Fps
from pprint import pprint as pp
# Enter your Facebook email and password
email = 'YOUR_EMAIL'
password = 'YOUR_PASWORD'
# Instantiate an object
fps = Fps(email, password, post_url_text='Full Story')
# Example with single profile
single_profile = 'https://www.facebook.com/BillGates'
data = fps.get_posts_from_profile(single_profile)
pp(data)
fps.posts_to_csv('my_posts') # You can export the posts as CSV document
# fps.posts_to_excel('my_posts') # You can export the posts as Excel document
# fps.posts_to_json('my_posts') # You can export the posts as JSON document
Example with multiple urls
from FacebookPostsScraper import FacebookPostsScraper as Fps
from pprint import pprint as pp
# Enter your Facebook email and password
email = 'YOUR_EMAIL'
password = 'YOUR_PASWORD'
# Instantiate an object
fps = Fps(email, password, post_url_text='Full Story')
# Example with multiple profiles
profiles = [
'https://www.facebook.com/zuck', # User profile
'https://www.facebook.com/thepracticaldev', # Facebook page
'https://www.facebook.com/groups/python' # Facebook group
]
data = fps.get_posts_from_list(profiles)
pp(data)
fps.posts_to_csv('my_posts') # You can export the posts as CSV document
# fps.posts_to_excel('my_posts') # You can export the posts as Excel document
# fps.posts_to_json('my_posts') # You can export the posts as JSON document
Questions
Please be free of ask anything in you want in the issue sections.