Package: facebook-page-scraper
Facebook Page ScraperNo need of API key, No limitation on number of requests. Import the library andJust Do It !Table of ContentsTable of ContentsGetting StartedPrerequisitesInstallationInstalling from sourceInstalling with PyPIUsageHow to instantiate?Parameters forFacebook_scraper()Scrape in JSON formatJSON Output FormatScrape in CSV formatParameters for scrape_to_csv() methodKeys of the output dataTechLicensePrerequisitesInternet ConnectionPython 3.7+Chrome or Firefox browser installed on your machineInstallation:Installing from source:git clone https://github.com/shaikhsajid1111/facebook_page_scraperInside project's directorypython3 setup.py installInstalling with pypipip3 install facebook-page-scraperHow to use?#import Facebook_scraper class from facebook_page_scraperfromfacebook_page_scraperimportFacebook_scraper#instantiate the Facebook_scraper classpage_name="metaai"posts_count=10browser="firefox"proxy="IP:PORT"#if proxy requires authentication then user:password@IP:PORTtimeout=600#600 secondsheadless=Truemeta_ai=Facebook_scraper(page_name,posts_count,browser,proxy=proxy,timeout=timeout,headless=headless)Parameters forFacebook_scraper(page_name, posts_count, browser, proxy, timeout, headless)classParameter NameParameter TypeDescriptionpage_nameStringName of the facebook pageposts_countIntegerNumber of posts to scrap, if not passed default is 10browserStringWhich browser to use, either chrome or firefox. if not passed,default is chromeproxy(optional)StringOptional argument, if user wants to set proxy, if proxy requires authentication then the format will beuser:password@IP:PORTtimeoutIntegerThe maximum amount of time the bot should run for. If not passed, the default timeout is set to 10 minutesheadlessBooleanWhether to run browser in headless mode?. Default is TrueDone with instantiation?.Let the scraping begin!For post's data inJSONformat:#call the scrap_to_json() methodjson_data=meta_ai.scrap_to_json()print(json_data)Output:{"2024182624425347":{"name":"Meta AI","shares":0,"reactions":{"likes":154,"loves":19,"wow":0,"cares":0,"sad":0,"angry":0,"haha":0},"reaction_count":173,"comments":2,"content":"Weâ€™ve built data2vec, the first general high-performance self-supervised algorithm for speech, vision, and text. We applied it to different modalities and found it matches or outperforms the best self-supervised algorithms. We hope this brings us closer to a world where computers can learn to solve many different tasks without supervision. Learn more and get the code:  https://ai.facebook.com/â€¦/the-first-high-performance-self-sâ€¦","posted_on":"2022-01-20T22:43:35","video":[],"image":["https://scontent-bom1-2.xx.fbcdn.net/v/t39.30808-6/s480x480/272147088_2024182621092014_6532581039236849529_n.jpg?_nc_cat=100&ccb=1-5&_nc_sid=8024bb&_nc_ohc=j4_1PAndJTIAX82OLNq&_nc_ht=scontent-bom1-2.xx&oh=00_AT9us__TvC9eYBqRyQEwEtYSit9r2UKYg0gFoRK7Efrhyw&oe=61F17B71"],"post_url":"https://www.facebook.com/MetaAI/photos/a.360372474139712/2024182624425347/?type=3&__xts__%5B0%5D=68.ARBoSaQ-pAC_ApucZNHZ6R-BI3YUSjH4sXsfdZRQ2zZFOwgWGhjt6dmg0VOcmGCLhSFyXpecOY9g1A94vrzU_T-GtYFagqDkJjHuhoyPW2vnkn7fvfzx-ql7fsBYxL5DgQVSsiC1cPoycdCvHmi6BV5Sc4fKADdgDhdFvVvr-ttzXG1ng2DbLzU-XfSes7SAnrPs-gxjODPKJ7AdqkqkSQJ4HrsLgxMgcLFdCsE6feWL7rXjptVWegMVMthhJNVqO0JHu986XBfKKqB60aBFvyAzTSEwJD6o72GtnyzQ-BcH7JxmLtb2_A&__tn__=-R"},...}Output Structure for JSON format:{"id":{"name":string,"shares":integer,"reactions":{"likes":integer,"loves":integer,"wow":integer,"cares":integer,"sad":integer,"angry":integer,"haha":integer},"reaction_count":integer,"comments":integer,"content":string,"video":list,"image":list,"posted_on":datetime,//string containing datetime in ISO 8601"post_url":string}}For saving post's data directly toCSVfile#call scrap_to_csv(filename,directory) methodfilename="data_file"#file name without CSV extension,where data will be saveddirectory="E:\data"#directory where CSV file will be savedmeta_ai.scrap_to_csv(filename,directory)content ofdata_file.csv:id,name,shares,likes,loves,wow,cares,sad,angry,haha,reactions_count,comments,content,posted_on,video,image,post_url
2024182624425347,Meta AI,0,154,19,0,0,0,0,0,173,2,"Weâ€™ve built data2vec, the first general high-performance self-supervised algorithm for speech, vision, and text. We applied it to different modalities and found it matches or outperforms the best self-supervised algorithms. We hope this brings us closer to a world where computers can learn to solve many different tasks without supervision. Learn more and get the code:  https://ai.facebook.com/â€¦/the-first-high-performance-self-sâ€¦",2022-01-20T22:43:35,,https://scontent-bom1-2.xx.fbcdn.net/v/t39.30808-6/s480x480/272147088_2024182621092014_6532581039236849529_n.jpg?_nc_cat=100&ccb=1-5&_nc_sid=8024bb&_nc_ohc=j4_1PAndJTIAX82OLNq&_nc_ht=scontent-bom1-2.xx&oh=00_AT9us__TvC9eYBqRyQEwEtYSit9r2UKYg0gFoRK7Efrhyw&oe=61F17B71,https://www.facebook.com/MetaAI/photos/a.360372474139712/2024182624425347/?type=3&__xts__%5B0%5D=68.ARAse4eiZmZQDOZumNZEDR0tQkE5B6g50K6S66JJPccb-KaWJWg6Yz4v19BQFSZRMd04MeBmV24VqvqMB3oyjAwMDJUtpmgkMiITtSP8HOgy8QEx_vFlq1j-UEImZkzeEgSAJYINndnR5aSQn0GUwL54L3x2BsxEqL1lElL7SnHfTVvIFUDyNfAqUWIsXrkI8X5KjoDchUj7aHRga1HB5EE0x60dZcHogUMb1sJDRmKCcx8xisRgk5XzdZKCQDDdEkUqN-Ch9_NYTMtxlchz1KfR0w9wRt8y9l7E7BNhfLrmm4qyxo-ZpA&__tn__=-R
...Parameters forscrap_to_csv(filename, directory)method.Parameter NameParameter TypeDescriptionfilenameStringName of the CSV file where post's data will be saveddirectoryStringDirectory where CSV file have to be stored.Keys of the outputs:KeyTypeDescriptionidStringPost Identifier(integer casted inside string)nameStringName of the pagesharesIntegerShare count of postreactionsDictionaryDictionary containing reactions as keys and its count as value. Keys =>["likes","loves","wow","cares","sad","angry","haha"]reaction_countIntegerTotal reaction count of postcommentsIntegerComments count of postcontentStringContent of post as textvideoListURLs of video present in that postimageListList containing URLs of all images present in the postposted_onDatetimeTime at which post was posted(in ISO 8601 format)post_urlStringURL for that postTechThis project uses different libraries to work properly.SeleniumWebdriver ManagerPython DateutilSelenium-wireIf you encounter anything unusual please feel free to create issuehereLICENSEMIT