Çözüldü Bir web sayfası üzerinde bulunan tüm e-posta adresleri nasıl elde edilir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
9 Mart 2017
Mesajlar
1.876
Çözümler
12
İş başvurusu yapmak istiyorum. Bir web sayfasında bir sürü firmanın email adresleri var. Hepsine tek tek uğraşmak yoruyor. Başlık yaz, ön yazıyı yapıştır, CV ekle... Tüm e-posta adreslerini elde eden tarayıcı eklentilerine baktım ama hepsi kurumsal e-posta ile kayıt olmam gerektiğini söylüyor. Bana kurumsal e-posta gerektirmeyen ücretsiz bir şey gerekiyor.
 
Çözüm
JavaScript:
const emailRegex = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g;
        const foundEmails = new Set();

        function findEmails(node) {
            if (node.nodeType === Node.TEXT_NODE) {
                const emails = node.textContent.match(emailRegex);
                if (emails) {
                    emails.forEach(email => {
                        if (!foundEmails.has(email)) {
                            console.log(email);
                            foundEmails.add(email);
                        }
                    });
                }
            } else if (node.nodeType === Node.ELEMENT_NODE) {
                node.childNodes.forEach(findEmails);
            }
        }

        findEmails(document.body);

        const observer = new MutationObserver(mutations => {
            mutations.forEach(mutation => {
                mutation.addedNodes.forEach(findEmails);
            });
        });

        observer.observe(document.body, { childList: true, subtree: true });

        document.getElementById('download-btn').addEventListener('click', () => {
            const emailArray = Array.from(foundEmails);
            const blob = new Blob([emailArray.join('\n')], { type: 'text/plain' });
            const url = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = url;
            a.download = 'emails.txt';
            document.body.appendChild(a);
            a.click();
            document.body.removeChild(a);
            URL.revokeObjectURL(url);
        });

Bu kod bloğu ile sorunumu çözdüm. İlgili site üzerinde tarayıcının console'a yapıştırdığınızda ekrana gelen tüm email'leri yakalıyor console'a basıyor. Bana da oradan kopyalamak kalıyor. Topluca iş başvurusu için iyi bir yöntem.

JavaScript:
const emailRegex = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g;
        const foundEmails = new Set();

        function findEmails(node) {
            if (node.nodeType === Node.TEXT_NODE) {
                const emails = node.textContent.match(emailRegex);
                if (emails) {
                    emails.forEach(email => {
                        if (!foundEmails.has(email)) {
                            console.log(email);
                            foundEmails.add(email);
                        }
                    });
                }
            } else if (node.nodeType === Node.ELEMENT_NODE) {
                node.childNodes.forEach(findEmails);
            }
        }

        findEmails(document.body);

        const observer = new MutationObserver(mutations => {
            mutations.forEach(mutation => {
                mutation.addedNodes.forEach(findEmails);
            });
        });

        observer.observe(document.body, { childList: true, subtree: true });

        document.getElementById('download-btn').addEventListener('click', () => {
            const emailArray = Array.from(foundEmails);
            const blob = new Blob([emailArray.join('\n')], { type: 'text/plain' });
            const url = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = url;
            a.download = 'emails.txt';
            document.body.appendChild(a);
            a.click();
            document.body.removeChild(a);
            URL.revokeObjectURL(url);
        });

Bu kod bloğu ile sorunumu çözdüm. İlgili site üzerinde tarayıcının console'a yapıştırdığınızda ekrana gelen tüm email'leri yakalıyor console'a basıyor. Bana da oradan kopyalamak kalıyor. Topluca iş başvurusu için iyi bir yöntem.

 
Çözüm

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı