Developer Snippet Diary

Scrape google map reviews using javascript

javascript:(function() {
	const buttons = document.querySelectorAll('button[aria-label="See more"]');
        buttons.forEach(button => {
            button.click();
        });
    setTimeout(function() {
        

        let reviewsData = [];
        document.querySelectorAll('.jJc9Ad').forEach(review => {
            let reviewText = review.querySelector('.wiI7pd') ? review.querySelector('.wiI7pd').innerText : '';
            let rating = review.querySelectorAll('span[class="hCCjke google-symbols NhBTye elGi1d"]').length;
            reviewsData.push({ reviewText, rating });
            console.log(rating+" "+reviewText);
        });

        var rev = reviewsData;
        console.log(rev);
        var reviewis;
        var reviewsString = "";
        for (reviewis of rev) {
            if (reviewis.rating == 5 && reviewis.reviewText != "") {
                single_rev = "_____________START REVIEW\n" + reviewis.reviewText + "\n_____________END REVIEW\n";
                reviewsString += single_rev;
                console.log(single_rev);
            }
        }

        if (reviewsString.length > 0) {
            var tempInput = document.createElement('textarea');
            tempInput.style.position = 'absolute';
            tempInput.style.left = '-9999px';
            tempInput.value = reviewsString;
            document.body.appendChild(tempInput);
            tempInput.select();
            document.execCommand('copy');
            document.body.removeChild(tempInput);
            alert('Scraped and copied to clipboard:\n\n' + reviewsString);
        } else {
            alert('No reviews found on this page.');
        }
   }, 2000);
})();
Posted by: R GONDAL
Email: rizikmw@gmail.com