How Web Scraping is used to Extract User Reviews from Google Chrome Online Store Extension?

 Blog /  How Web Scraping is used to Extract User Reviews from Google Chrome Online Store Extension

  18 May 2022

how-web-scraping-is-used-to-extract-user-reviews-from-google-chrome-web-store-extension

Web scrapers are the tools of data scraping services and there are numerous web scrapers in the market. Some are for free, while others are not. According to support platforms, it can be said that Chrome is one of the popular platforms among web scraper developers with a large number of web scrapers produced as extensions for the Chrome platform.

Chrome is currently a popular online browser with over 180,000 extensions available in the Chrome Web Store. Web scraping can be used to extract user reviews from Google Chrome online store extensions that are beneficial to many business and research agencies.

How To Scrape User Reviews From The Chrome Online Store Extension?

How-To-Scrape-User-Reviews-From-The-Chrome-Online-Store-Extension

Elements that can be scraped are as follows:

  • Review content
  • Date
  • Author
  • Star rating
Elements-that-can-be-scraped-are-as-follows

1. Get a Complete Data Scraping

You may use our completely managed data scraping service to acquire data on chrome online store extension user reviews in excel files or CSV without using complicated codes.

You can easily provide us chrome extension ids or URLs list, and we will take care of the difficulties of data scraping from Google, which has numerous anti-scraping measures built to attempt and prevent people from scraping large-scale data.

2. Collect Your Own Google Chrome Online Store Extension User Reviews.

Use automatic Python library selenium to retrieve results for an extension on the Web Store of Chrome.

Selenium offers interfaces for all major coding languages but any Python library can be used as per the choice.

For example, here we are using selenium.

# Using Selenium to extract Chrome web store reviews
from selenium import webdriver
import time
from bs4 import BeautifulSoup
test_url = 'https://chrome.google.com/webstore/detail/data-scraper-easy-web-scr/nndknepjnldbdbepjfgmncbggmopgden'
option = webdriver.ChromeOptions()
option.add_argument("--incognito")
chromedriver = r'chromedriver.exe'
browser = webdriver.Chrome(chromedriver, options=option)
browser.get(test_url)
html_source = browser.page_source

Parse Fields Individually

Begin with parsing following information:

  • Total users
  • Extension name
  • Average rating value

Scrape Chrome Extension Name

# extracting chrome extension name
soup=BeautifulSoup(html_source, "html.parser")
print(soup.find_all('h1',{'class','e-f-w'})[0].get_text())
total_users = soup.find_all('span',{'class','e-f-ih'})[0].get_text()
print(total_users.strip())
total_reviews = soup.find_all('div',{'class','nAtiRe'})[0].get_text()
print(total_reviews.strip())
# rating value
meta=soup.find_all('meta')
for val in meta:
    try:
        if val['itemprop']=='ratingValue':
            print(val['content'])
    except:
        pass
#Output
    'Data Scraper - Easy Web Scraping'
    '200,000+ users'
    '562'
  4.080071174377224

Review the Button and Scroll the Page

Review-the-Button-and-Scroll-the-Page

Since we have basic information, programmatically hit reviews tab scroll to the bottom of page and load all reviews.

# clicking reviews button
element = browser.find_element_by_xpath('//*[@id=":25"]/div/div')
element.click()
time.sleep(5)
# scrolling till end of the pag
from selenium.webdriver.common.keys import Keys
html = browser.find_element_by_tag_name('html')
html.send_keys(Keys.END)
html_source = browser.page_source
browser.close()
soup=BeautifulSoup(html_source, 'html.parser')

Now, we shall extract the author's review name

review_author_list_src = soup.find_all('span', {'class','comment-thread-displayname'})
review_author_name_list = []

for val in review_author_list_src:
    try:
        review_author_name_list.append(val.get_text())
    except:
        pass
review_author_name_list[:10]
#Output
['Bryan Bloom',
 'Sudhakar Kadavasal',
 'Lauren Rich',
 '�yvind Andr� Sandberg',
 'Paul Adamson',
 'Phoebe Staab',
 'Frank Mathmann',
 'Bobby Thomas',
 'Kevin Humphrey',
 'David Wills']

Scrape Date of Review

Scrape-Date-of-Review

The another step is to extract the review date.

# extracting review dates
date_src = soup.find_all('span',{'class', 'ba-Eb-Nf'})
date_src
date_list = []
for val in date_src:
    date_list.append(val.get_text())
date_list[:10]
# Output
['Modified Feb 7, 2019',
 'Modified Jan 8, 2019',
 'Modified Dec 31, 2018',
 'Modified Jan 4, 2019',
 'Modified Dec 14, 2018',
 'Modified Feb 5, 2019',
 'Modified Dec 13, 2018',
 'Modified Jan 16, 2019',
 'Modified Nov 29, 2018',
 'Modified Nov 16, 2018']

Scrape Star Rating Review

Sentiment analysis can be performed on contents of reviews, when sentiments are found neutral it is suggested to use star rating review for weighted average or star rating regulation of sentiment analysis model can also be used if the process is under development stage.

# extracting review star rating
star_rating_src = soup.find_all('div', {'class','rsw-stars'})
star_rating_list = []
for val in star_rating_src:
    try:
        star_rating_list.append(val['aria-label'])
    except:
        pass
star_rating_list[:10]
# Output
['5 stars',
 '5 stars',
 '5 stars',
 '5 stars',
 '5 stars',
 '5 stars',
 '5 stars',
 '2 stars',
 '5 stars',
 '5 stars']

Scrape Review Content

Scrape-Review-Content

For example, we will see the first 3 results and accuracy can be approved.

# extracting review content
review_content_src = soup.find_all('div',{'class', 'ba-Eb-ba'})
review_content_list = []
for val in review_content_src:
    review_content_list.append(val.get_text())
review_content_list[:3]
# Output
['This is one of the first times ever writing a review, but I HAD to.  This is the most awesome, easy-to-use, and amazing extension ever.  Literally saves hundreds of hours.  Thank you!',
 'Loved it. It automatically detected the data structure suited for the website and that helped me in learning how to use the tool without having to read the tutorial! Beautifully written tool. Kudos.',
 'Great tool for mining data. We used Data Miner to extract data from the Medicare.gov website for an upcoming mailing to nursing homes and assisted living facilities. It can comb through a number of pages in a matter of seconds, extracting thousands of rows into one concise spreadsheet. I would highly recommend this product to any business looking to obtain data for any purpose - mailing, email campaign, etc. Thank you Data Miner!']

Converted in CSV Format

The above list can be converted into pandas dataframe and then these dataframes can be easily converted into Excel, JSON, or CSV.

Scaling crawler to get all app reviews from google chrome online store

Pagination

You just paginate from the results to get all of the reviews.

Using anti-CAPTCHA Techniques

After so many requests, servers of Google.com will either ban IP address completely or flag you and force you to use CAPTCHA.

You must implement the following to get data:

  • By the use of residential proxies, you can rotate proxy IP addresses.
  • Rotating User Agents
  • Using CAPTCHA solution service such as anticaptcha.com or 2captcha.com.

Conclusion

Follow the above-mentioned steps or get the best web scraping services of ReviewGators which is the economical in the entire market.

Looking for web scraping services for user reviews from Google Chrome Web Store? Contact ReviewGators now!

Request for a quote!

Send a message

Feel free to reach us if you need any assistance.

Contact Us

We’re always ready to help as well as answer all your queries. We are looking forward to hearing from you!

Call Us On

+1(832) 251 7311

Address

10685-B Hazelhurst Dr. # 25582 Houston,TX 77043 USA