All Projects โ†’ shobeir โ†’ GraphiPy

shobeir / GraphiPy

Licence: MIT License
GraphiPy: Universal Social Data Extractor

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to GraphiPy

social-post-api
Social Media API: Automate Posting and Analytics to Social Networks like Instagram, TikTok, Twitter, Facebook, LinkedIn, Reddit, YouTube, and Telegram
Stars: โœญ 38 (-37.7%)
Mutual labels:  social-network, youtube-api, facebook-api, linkedin-api
LinkedIn Scraper
๐Ÿ™‹ A Selenium based automated program that scrapes profiles data,stores in CSV,follows them and saves their profile in PDF.
Stars: โœญ 25 (-59.02%)
Mutual labels:  social-network, linkedin-api
grasp
Essential NLP & ML, short & fast pure Python code
Stars: โœญ 58 (-4.92%)
Mutual labels:  twitter-api, graph-visualization
PHP-SDK-3.0---Graph-API-base-Facebook-Connect-Tutorial-Source
PHP SDK 3.0 Graph API base Facebook Connect Library
Stars: โœญ 60 (-1.64%)
Mutual labels:  social-network, facebook-api
Networkx
Network Analysis in Python
Stars: โœญ 10,057 (+16386.89%)
Mutual labels:  graph-algorithms, graph-visualization
Neo4j Apoc Procedures
Awesome Procedures On Cypher for Neo4j - codenamed "apoc" ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย If you like it, please โ˜… above โ‡งย ย ย ย ย ย ย ย ย ย ย ย 
Stars: โœญ 1,291 (+2016.39%)
Mutual labels:  graph-algorithms, graph-database
roux
Simple and (a)synchronous Reddit API wrapper for Rust.
Stars: โœญ 41 (-32.79%)
Mutual labels:  reddit-api, api-wrapper
mage
MAGE - Memgraph Advanced Graph Extensions ๐Ÿ”ฎ
Stars: โœญ 89 (+45.9%)
Mutual labels:  graph-algorithms, graph-database
Penicillin
Modern powerful Twitter API wrapper for Kotlin Multiplatform. #PureKotlin
Stars: โœญ 91 (+49.18%)
Mutual labels:  twitter-api, api-wrapper
node-social-feed-api
Aggregates social media feeds and outputs them to use in an API
Stars: โœญ 20 (-67.21%)
Mutual labels:  twitter-api, facebook-api
Neo4j Graph Algorithms
Efficient Graph Algorithms for Neo4j
Stars: โœญ 713 (+1068.85%)
Mutual labels:  graph-algorithms, graph-database
lynxkite
The complete graph data science platform
Stars: โœญ 120 (+96.72%)
Mutual labels:  graph-algorithms, graph-visualization
argo-graph-lite
Interactive Graph Visualization in Your Browser
Stars: โœญ 69 (+13.11%)
Mutual labels:  graph-algorithms, graph-visualization
Link Prediction
Representation learning for link prediction within social networks
Stars: โœญ 245 (+301.64%)
Mutual labels:  graph-algorithms, social-network
Social Amnesia
Forget the past. Social Amnesia makes sure your social media accounts only show your posts from recent history, not from "that phase" 5 years ago.
Stars: โœญ 656 (+975.41%)
Mutual labels:  twitter-api, reddit-api
Book Socialmediaminingpython
Companion code for the book "Mastering Social Media Mining with Python"
Stars: โœญ 462 (+657.38%)
Mutual labels:  twitter-api, facebook-api
Docker Multistreamer
Dockerized multistreamer
Stars: โœญ 90 (+47.54%)
Mutual labels:  youtube-api, facebook-api
Reddit Detective
Play detective on Reddit: Discover political disinformation campaigns, secret influencers and more
Stars: โœญ 129 (+111.48%)
Mutual labels:  social-network, graph-database
jungrapht-visualization
visualization and sample code from Java Universal Network Graph ported to use JGraphT models and algorithms
Stars: โœญ 37 (-39.34%)
Mutual labels:  social-network, graph-visualization
node-youtube-music
Unofficial YouTube Music API for Node.js
Stars: โœญ 34 (-44.26%)
Mutual labels:  youtube-api, api-wrapper

GraphiPy

A Universal Social Data Extractor

PyPI version Downloads Binder

GraphiPy simplifies the extraction of data from different social media websites. Instead of having to study the different APIs of each website, just provide the API keys and use GraphiPy!

Currently, GraphiPy provides support to 7 different websites:

Installation

GraphiPy is uploaded on PyPI and can be found here.

To install GraphiPy, run pip install GraphiPy

Please note that GraphiPy does not support Python 2 and only works on Python 3.

Video Demonstration

GraphiPy Video

Data Strcuture

GraphiPy acts like a Graph in which all the different information are stored as nodes and connections between different nodes will be stored as edges.

Currently, we have 3 graph types:

All graph types are based on a class called BaseGraph

  • Dictionary Graph To provide easy access, the type of the nodes and edges are stored as keys while the rows of data are stored as values. The rows of data is also a dictionary, with the _id of the nodes and edges as keys (to avoid duplicate data) and the values would be the node and edge objects.

  • Pandas Graph Similar to the Dictionary Graph, the type of nodes and edges are stored as keys and the dataframes are stored as values. Since inserting rows one by one into the dataframe takes polynomial time, the implementation uses the help of Python's dictionary. After a certain number of elements are inside the dictionaries, all of them are converted into dataframes and appended into the existing dataframes.

  • Neo4j Graph GraphiPy directly connects and inserts to your Neo4j database. In order to avoid duplicate data, MERGE is used instead of CREATE. Thus, whenever an existing node _id is inserted, its attributes are updated instead of inserting a completely new node.

API Demos

For more information on how to use GraphiPy, please see one of the notebooks:

Data Exportation and Visualization with NetworkX

GraphiPy can also export data as CSV files and visualize the graphs using NetworkX. It is also possible to convert from one graph type to another (e.g. from Pandas to Neo4j and vice versa). For more information, see this notebook

  • Gephi Support: Gephi is an open-source software for network visualization and analysis. It helps data analysts to intuitively reveal patterns and trends, highlight outliers and tells stories with their data. The csv files exported from Graphify can be directly imported to Gephi. The below figure shows data visualization (via Gephi) of 20 youtube videos with keyword "dota2" extracted via GraphiPy Data of 20 youtube videos with keyword "dota2"

Folder Structure

.
โ”œโ”€โ”€ demo
|   โ”œโ”€โ”€ DataExportDemo.ipynb
|   โ”œโ”€โ”€ FacebookDemo.ipynb
|   โ”œโ”€โ”€ LinkedinDemo.ipynb
|   โ”œโ”€โ”€ PinterestDemo.ipynb
|   โ”œโ”€โ”€ RedditDemo.ipynb
|   โ”œโ”€โ”€ TumblrDemo.ipynb
|   โ”œโ”€โ”€ TwitterDemo.ipynb
|   โ””โ”€โ”€ YoutubeDemo.ipynb
โ”œโ”€โ”€ graphipy
|   โ”œโ”€โ”€ api
|   |   โ”œโ”€โ”€ _init_.py
|   |   โ”œโ”€โ”€ facebook_api.py	
|   |   โ”œโ”€โ”€ linkedin_api.py	
|   |   โ”œโ”€โ”€ pinterest_api.py
|   |   โ”œโ”€โ”€ reddit_api.py	
|   |   โ”œโ”€โ”€ tumblr_api.py	
|   |   โ”œโ”€โ”€ twitter_api.py	
|   |   โ””โ”€โ”€ youtube_api.py	
|   โ”œโ”€โ”€ graph
|   |   โ”œโ”€โ”€ _init_.py
|   |   โ”œโ”€โ”€ graph_base.py
|   |   โ”œโ”€โ”€ graph_dict.py
|   |   โ”œโ”€โ”€ graph_neo4j.py
|   |   โ””โ”€โ”€ graph_pandas.py
|   โ”œโ”€โ”€ _init_.py
|   โ”œโ”€โ”€ exportnx.py
|   โ””โ”€โ”€ graphipy.py
โ”œโ”€โ”€ .gitignore 
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ requirements.txt
Folder/Filename Description
demo Jupyter notebooks explaining how to use the library in detail
graphipy The major directory of the library containing classes for all social media platforms, graph data structure and exporting functionalities
graphipy/api Class definitions for all social media platforms, including fetch functions and customized nodes and edges
graphipy/graph Definitions of the graph data structure implemented with dictionary, Pandas and Neo4J
requirements.txt All dependencies
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].