Skip to content

Instantly share code, notes, and snippets.

@sonerb
Created May 23, 2020 18:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sonerb/50682c7bff7dce7702a735c0af3c6cd7 to your computer and use it in GitHub Desktop.
Save sonerb/50682c7bff7dce7702a735c0af3c6cd7 to your computer and use it in GitHub Desktop.
var DELAY_TIME = 1000; // ms
var _POPUP = 0; // pop-up açılıp içine json yazılsın mı?
var _LOG = 1; // console ekranına json loglansın mı?
var _DOWNLOAD = 1; // .json formatında dosya olarak indirilsin mi?
var users = document.querySelectorAll(".copyable-area > div:nth-of-type(2) > div:nth-child(2) > div > div > div");
var users_datas = [];
var users_container = document.querySelector(".copyable-area > div:nth-of-type(2)");
function containsNo(no, list) {
var i;
for (i = 0; i < list.length; i++) {
if (list[i].no == no) {
return true;
}
}
return false;
}
function kaydir() {
var topPos = users_container.scrollTop + (users.length * 72);
users_container.scrollTop = topPos;
setTimeout(topla, DELAY_TIME);
}
function finish() {
var data = JSON.stringify(users_datas);
if (_LOG == 1)
console.log(data);
if (_DOWNLOAD == 1)
download(data, "wp_user_list.json");
if (_POPUP == 1) {
myWindow = window.open("about:blank", "_blank", "width=600,height=600");
myWindow.document.write(data);
myWindow.focus();
}
}
function download(text, filename) {
var blob = new Blob([text], { type: "text/plain" });
var url = window.URL.createObjectURL(blob);
var a = document.createElement("a");
a.href = url;
a.download = filename;
a.click();
}
function topla() {
for (var i = 0; i < users.length; i++) {
var el = users[i];
if (el.querySelector("img") && el.querySelector("img").src.substr(0, 4) != "data") {
try {
var user_img = el.querySelector("img").src;
var user_no = decodeURIComponent(user_img).split("&u=")[1].split("@")[0];
} catch (err) {
console.log(user_img);
}
if (containsNo(user_no, users_datas))
continue;
var user_name = el.querySelector("img").parentElement.parentElement.parentElement.querySelector("div:nth-of-type(2) > div > div > span>span").title;
var data = { no: user_no, img: user_img, name: user_name };
users_datas.push(data);
console.log(user_name + " eklendi! Total : " + users_datas.length);
}
}
if (users_container.scrollHeight > (users_container.scrollTop + 1000)) {
kaydir()
} else {
finish();
}
}
topla();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment