Google Play 스토어 스크래핑

4506 단어

프로젝트 목적 :



각 핀테크 앱이 나이지리아인에 의해 어떻게 사용되고 널리 수용되는지 분석하고 핀테크 회사가 나이지리아인 재정 및 Nigeri의 기술 부문에 미친 영향을 이해합니다.



프로젝트 프로세스:


  • Playstore의 웹 스크래핑 데이터
  • 데이터에 대한 설명적 데이터 분석 수행
  • Power BI 및 Tableau에서 데이터 시각화

  • 프로젝트 도구:


  • 노트북
  • 파워 BI
  • 태블로

  • 필요한 라이브러리 가져오기




    import time
    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    


    Selenium을 사용하여 PlayStore에 액세스




    driver = webdriver.Chrome(ChromeDriverManager().install())
    driver.get('https://play.google.com/store/search?q=fintech%20in%20nigeria&c=apps')
    time.sleep(10)
    


    필수 페이지에서 모든 앱 가져오기




    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
    


    앱 링크 스크래핑




    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))
    


    각 앱에서 필요한 정보 스크랩




    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......

    스크랩한 DataFrame용 CSV 파일 생성




    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

    좋은 웹페이지 즐겨찾기