Sorteio do dia das Mães
Colar comentarios
Copiar comentarios com usuario
Use este assistente quando o copiar/colar normal do Instagram vier sem o nome de quem comentou.
1
Abra o post do sorteio no Instagram Web pelo Chrome ou Opera.
2
Role os comentarios ou clique para carregar mais comentarios antes de executar o script.
3
Aperte Ctrl + Shift + I, entre na aba Console e, se aparecer bloqueio, digite allow pasting e aperte Enter.
4
Clique em Copiar script aqui no SorteioPro, cole no Console do Instagram e aperte Enter.
5
Espere aparecer a mensagem de comentarios copiados. Se abrir uma caixa grande no Instagram, selecione o texto e copie com Ctrl + C.
6
Volte ao SorteioPro, cole o resultado neste campo e clique em Analisar comentarios.
(async function () {
const esperar = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
function encontrarAreaRolagem() {
const candidatos = Array.from(document.querySelectorAll('div, section, main'));
return candidatos
.filter((el) => el.scrollHeight > el.clientHeight + 250)
.sort((a, b) => b.scrollHeight - a.scrollHeight)[0] || document.scrollingElement;
}
function clicarMaisComentarios() {
const botoes = Array.from(document.querySelectorAll('button, div[role="button"], span[role="button"]'));
const botao = botoes.find((el) => {
const texto = (el.innerText || el.textContent || '').toLowerCase();
return texto.includes('ver mais comentarios') ||
texto.includes('ver mais comentários') ||
texto.includes('view more comments') ||
texto.includes('load more comments');
});
if (botao) {
botao.click();
return true;
}
return false;
}
function extrairComentarios() {
const linhas = [];
const vistos = new Set();
const itens = Array.from(document.querySelectorAll('article ul li, ul li, div[role="dialog"] ul li'));
itens.forEach((item) => {
const links = Array.from(item.querySelectorAll('a[href^="/"]'));
const usuarioLink = links.find((link) => {
const href = link.getAttribute('href') || '';
const texto = (link.textContent || '').trim();
return /^\/[A-Za-z0-9._]+\/?$/.test(href) && texto && !href.includes('/p/');
});
if (!usuarioLink) return;
const usuario = usuarioLink.textContent.trim().replace('@', '');
const textoItem = (item.innerText || '').trim();
const partes = textoItem.split('\n').map((parte) => parte.trim()).filter(Boolean);
const comentario = partes
.filter((parte) => parte !== usuario)
.filter((parte) => !/^(responder|reply|curtidas?|likes?|ver traducao|ver tradução)$/i.test(parte))
.join(' ')
.replace(/\s+/g, ' ')
.trim();
if (!usuario || !comentario || !comentario.includes('@')) return;
const linha = `${usuario}: ${comentario}`;
if (!vistos.has(linha)) {
vistos.add(linha);
linhas.push(linha);
}
});
return linhas;
}
const area = encontrarAreaRolagem();
let totalAnterior = 0;
let semNovos = 0;
console.log('SorteioPro: carregando comentarios. Aguarde...');
for (let tentativa = 0; tentativa < 80 && semNovos < 8; tentativa++) {
clicarMaisComentarios();
area.scrollTop = area.scrollHeight;
window.scrollTo(0, document.body.scrollHeight);
await esperar(900);
const totalAtual = extrairComentarios().length;
console.log(`SorteioPro: ${totalAtual} comentarios com @ encontrados...`);
if (totalAtual === totalAnterior) {
semNovos++;
} else {
semNovos = 0;
totalAnterior = totalAtual;
}
}
const linhas = extrairComentarios();
const textoFinal = linhas.join('\n');
try {
await navigator.clipboard.writeText(textoFinal);
console.log(`SorteioPro: ${linhas.length} comentarios copiados. Agora cole no SorteioPro.`);
return;
} catch (erroClipboard) {
try {
copy(textoFinal);
console.log(`SorteioPro: ${linhas.length} comentarios copiados pelo DevTools. Agora cole no SorteioPro.`);
return;
} catch (erroCopy) {
const caixa = document.createElement('textarea');
caixa.value = textoFinal;
caixa.style.position = 'fixed';
caixa.style.inset = '20px';
caixa.style.zIndex = '999999';
caixa.style.width = 'calc(100vw - 40px)';
caixa.style.height = 'calc(100vh - 40px)';
caixa.style.padding = '20px';
caixa.style.fontSize = '16px';
caixa.style.background = '#fff';
caixa.style.color = '#111';
document.body.appendChild(caixa);
caixa.focus();
caixa.select();
console.log(`SorteioPro: ${linhas.length} comentarios encontrados. Copie o texto da caixa aberta na pagina com Ctrl+C e cole no SorteioPro.`);
}
}
})();
O alerta vermelho do Instagram e normal nessa etapa. Confira que voce esta usando o script do SorteioPro, digite allow pasting no Console para liberar a colagem e execute. O script tenta rolar e carregar mais comentarios, mas depende do que o Instagram disponibilizar na tela.