Purpose Of Project :
To analyze how each fin tech apps is being used and widely accepted by Nigerians, as well as understanding the impact fin tech companies has made on Nigerians finances and Nigeri's Tech Sector.
Project Process:
- Web scraping data from playstore
- Performing Exporatory Data Analysis On data
- Visualizing data on Power BI and Tableau
Project Tools:
- Notebook
- Power BI
- Tableau
Importing Necessary Libraries
import time from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager
Accessing PlayStore
Using Selenium
driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get('https://play.google.com/store/search?q=fintech%20in%20nigeria&c=apps') time.sleep(10)
Getting All The Apps
In The Required Page
SCROLL_PAUSE_TIME = 5 # Get scroll height last_height = driver.execute_script("return document.body.scrollHeight") time.sleep(SCROLL_PAUSE_TIME) while True: # Scroll down to bottom driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # Wait to load page time.sleep(SCROLL_PAUSE_TIME) # Calculate new scroll height and compare with last scroll height new_height = driver.execute_script("return document.body.scrollHeight") if new_height == last_height: break last_height = new_height
Scraping
App Links
links_fintech = [] elems = driver.find_elements_by_xpath("//a[@href]") for elem in elems: if "details?id" in elem.get_attribute("href"): links_fintech.append((elem.get_attribute("href"))) links_fintech = list(dict.fromkeys(links_fintech))
Scraping The Necessary Informations
From Each App
list_all_elements = [] for iteration in links_fintech: try: driver.get(iteration) print(iteration) time.sleep(3) header1 = driver.find_element_by_tag_name("h1") downloads = driver.find_elements_by_class_name("htlgb") list_downloads = [] for x in range (len(downloads)): if x % 2 == 0: list_downloads.append(downloads[x].text) titles = driver.find_elements_by_class_name("AHFaub") comments = driver.find_element_by_class_name("EymY4b") list_elements = [iteration,header1.text, list_downloads.append(downloads[x].text), comments.text.split()[0]] for x in range (len(titles)): if titles[x].text == "Download": list_elements.append(list_others[x]) if titles[x].text == "Developer": for y in list_others[x].split("\n"): if "@" in y: list_elements.append(y) break list_all_elements.append(list_elements) except Exception as e: print(e)
https://play.google.com/store/apps/details?id=ng.gov.cbn.speed.wallet.temp
https://play.google.com/store/apps/details?id=com.oxloan.loan.money.credit.nigeria
https://play.google.com/store/apps/details?id=com.cowrywise.android
https://play.google.com/store/apps/details?id=com.fastmoney.loan.credit.cash.nigeria
https://play.google.com/store/apps/details?id=com.wemabank.alat.prod
https://play.google.com/store/apps/details?id=com.ikonik.lamp_pay......
Creating A CSV File
For Scraped DataFrame
import pandas as pd df = pd.DataFrame(list_all_elements,columns=['URL', 'Name', 'downloads', 'install']) df_1 = df.to_csv('fintech_playstore.csv', header = True, index=False, encoding="utf-8")
df_1
https://www.danielherediamejias.com/scraping-google-play-store-with-python-and-selenium/
https://play.google.com/store/search?q=fintechs%20in%20nigeria&c=apps
Top comments (0)