Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gsscoder/facebook-snooper
Scrapes Facebook profile pages using a normal login (without an API key)
https://github.com/gsscoder/facebook-snooper
facebook information-gathering linux macos osint python3 reconnaissance scraping windows
Last synced: 13 days ago
JSON representation
Scrapes Facebook profile pages using a normal login (without an API key)
- Host: GitHub
- URL: https://github.com/gsscoder/facebook-snooper
- Owner: gsscoder
- License: mit
- Created: 2019-10-31T16:12:56.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-11T09:39:32.000Z (about 4 years ago)
- Last Synced: 2024-10-06T02:37:56.723Z (about 2 months ago)
- Topics: facebook, information-gathering, linux, macos, osint, python3, reconnaissance, scraping, windows
- Language: Python
- Homepage:
- Size: 92.8 KB
- Stars: 31
- Watchers: 4
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![fb-snooper logo](https://user-images.githubusercontent.com/1194228/69556500-1ab03f00-0fa5-11ea-867a-c4c897ea17ff.png)
# Facebook Snooper
Scrapes Facebook profile pages and searches profiles using a normal log in (without an API key). Inspired by [facebook-scraper](https://github.com/kevinzg/facebook-scraper). Built with [MechanicalSoup](https://github.com/MechanicalSoup/MechanicalSoup).
## Install
**NOTE**: Python 3.7 or higher is required.
To install facebook_snooper from source, follow these steps:
```sh
# clone the repository
$ git clone https://github.com/gsscoder/facebook-snooper.git# change the working directory
$ cd facebook-snooper# install the package
$ pip install .
```You can also install with PyPI:
```sh
$ pip install facebook_snooper
```## Usage
```python
>>> import facebook_snooper
>>> from facebook_snooper.dump import dump_search, dump_info
>>> fb = facebook_snooper.init_session()
>>> fb.log_in('[email protected]', 'user_password')>>> results = fb.search('frank new york')
>>> dump_search(results, pretty=True)
profile frankdecaro https://m.facebook.com/frankdecaro?refid=46
Frank DeCaro
Author at Rizzoli New York
Freelance Writer at The New York Times
profile frankbruninyt https://m.facebook.com/frankbruninyt?refid=46
Frank Bruni
The New York Times
New York, New York
>>> info = fb.profile_info('frankbruninyt')
>>> dump_info(info, pretty=True)
Frank Bruni
Image: https://scontent-fco1-1.xx.fbcdn.net/v/t1.0-1/cp0/e15/q65/p120x120/49...
work The New York Times
education Columbia University,
education UNC Chapel Hill
education Loomis Chaffee
education Loomis Chaffee, Windsor, Conn.
living New York
living White Plains
```## Test
Create test directory and data:
```sh
$ cd facebook-snooper
$ mkdir tests/pages
``````python
>>> import facebook_snooper
>>> from tests.persistence import save_login, save_current_page
>>> fb = facebook_snooper.init_session()
>>> save_login(fb)
>>> fb.log_in('[email protected]', 'user_password')
...
>>> save_current_page(fb, 'logged')
>>> fb.search('frank new york')
...
>>> save_current_page(fb, 'search')
>>> fb.profile_info('frankbruninyt')
...
>>> save_current_page(fb, 'profile')```
Execute tests:
```sh
$ python tests/session.py
```### Disclaimer
- This package cannot gather nothing more that is publicly visible.
- Please respect people's privacy and use it ethically.### Notes
- There is no guarantee that will work if scraped pages change too much.
### Contributors
- Andrew Polukhin ([pandrey2003](https://github.com/pandrey2003))