Skip to content

Instantly share code, notes, and snippets.

@bikramkawan
Last active March 14, 2022 12:13
Show Gist options
  • Save bikramkawan/abb75a4b3d3a8cc10217084bcb818eeb to your computer and use it in GitHub Desktop.
Save bikramkawan/abb75a4b3d3a8cc10217084bcb818eeb to your computer and use it in GitHub Desktop.
Facebook Page Reviews Graph API - Use Browser dev tool to extract Reviewer Name and Photo
const allcomments = document.querySelectorAll(
'.du4w35lb.k4urcfbm.l9j0dhe7.sjgh65i0',
);
let comments = [];
for (const comment of allcomments) {
let obj = {};
obj['name'] = '';
obj['time'] = '';
obj['image'] = '';
obj['comment'] = '';
/* Start for User profile image element collector */
const userimageEl = comment.querySelector('.oi9244e8.do00u71z.j83agx80'); //
const userImage = userimageEl
.querySelector('image')
.getAttribute('xlink:href');
if(userImage){
obj['image'] = userImage.toString();
}
/* End for User profile image element */
/* Start for Reviewer Name Collector */
const userData = comment.querySelectorAll('.qzhwtbm6.knvmm38d');
const user = userData[0];
let h3 = user.querySelector('h2');
if(!h3){
h3 = user.querySelector('h3');
}
const strongs = h3.querySelectorAll('a .nc684nl6');
if(strongs) {
obj['name'] = strongs[0].innerHTML.toString();
}
/* End for Reviewer Name Collector */
/* Start for Review date Collector */
const timedata = userData[1].querySelector('a>span');
if(timedata){
obj['time'] = timedata.innerHTML.toString();
}
/* End for Review date Collector */
/* Start for comment Collector */
const ucomment = comment.querySelector(
'.kvgmc6g5.cxmmr5t8.oygrvhab.hcukyx3x.c1et5uql',
);
let parentcontainer = '';
if(ucomment){
var button = ucomment.querySelector('div[role="button"]');
if (button) {
button.click();
}
parentcontainer = ucomment.parentNode;
obj['comment'] = parentcontainer.innerHTML.toString();
}
/* End for comment Collector */
comments.push(obj);
}
console.log(comments);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment