Check if an instagram username has a threads profile by scraping
当前为
// ==UserScript==
// @name Instagram Threads Checker (OSINT)
// @version 1.0
// @description Check if an instagram username has a threads profile by scraping
// @author SH3LL
// @match *://www.instagram.com/*
// @grant GM_xmlhttpRequest
// @grant GM_addStyle
// @namespace https://greasyfork.org/users/762057
// ==/UserScript==
(function() {
'use strict';
function getUsernameFromURL() {
let match = window.location.pathname.match(/^\/([^/]+)\/$/);
return match ? match[1] : null;
}
function checkThreadsAccount(username) {
if (!username) return;
let threadsURL = `https://www.threads.net/@${username}`;
GM_xmlhttpRequest({
method: "GET",
url: threadsURL,
onload: function(response) {
let container = document.querySelector(".x6s0dn4.x78zum5.x1q0g3np.xs83m0k.xeuugli.x1n2onr6");
if (!container) return;
let messageBox = document.createElement("div");
messageBox.style.fontSize = "14px";
messageBox.style.fontWeight = "bold";
messageBox.style.marginTop = "5px";
messageBox.style.padding = "5px 10px";
messageBox.style.borderRadius = "5px";
messageBox.style.display = "inline-block";
messageBox.style.textAlign = "center";
if (response.status === 200 && response.responseText.includes('<meta property="og:type" content="profile" />')) {
messageBox.innerHTML = `<a href="${threadsURL}" target="_blank" style="color:white; text-decoration:none;">Threads Profile</a>`;
messageBox.style.backgroundColor = "green";
} else {
messageBox.innerHTML = `No Threads Profile`;
messageBox.style.backgroundColor = "red";
}
messageBox.style.color = "white";
container.children[0].appendChild(messageBox);
},
onerror: function() {
console.error("Threads Profile Connection Error");
}
});
}
setTimeout(() => {
let username = getUsernameFromURL();
checkThreadsAccount(username);
}, 3000);
})();