Chrome Console kullanarak toplu veri çekme

Bir arkadaşım hellabyte . one sitesindeki tüm gönderdiği linkleri toplam istemiş fakat koruma oldugu için toplayamamış bende ona google chrome içindeki konsol kullanarak tüm linkleri toplayacak bir kod paylaştım sizde yararlana bilirsiniz.

 

// Tüm sayfaları dolaşacak fonksiyon
async function scrapeAllPages(startPage, endPage) {
    // Toplam verileri depolamak için boş bir dizi oluştur
    var allData = [];

    // Belirli sayfa numaraları arasında döngü
    for (var page = startPage; page <= endPage; page++) {
        // Sayfanın URL'sini oluştur
        var url = 'https://hellabyte.one/file?page=' + page;

        // Sayfayı aç ve beklet
        try {
            const response = await fetch(url);
            const html = await response.text();

            // HTML içindeki verileri çek
            var parser = new DOMParser();
            var doc = parser.parseFromString(html, 'text/html');
            var elements = doc.querySelectorAll('.item-title');

            // Her bir öğe için ID ve içeriği al
            var pageData = Array.from(elements).map(function(element) {
                var onclickAttribute = element.getAttribute('onclick');
                var id = onclickAttribute.match(/'(.*?)'/)[1];
                var content = element.innerText.trim();
                return { id: id, content: content };
            });

            // Toplanan verileri genel listeye ekle
            allData = allData.concat(pageData);

            // Kısa bir bekleme süresi ekleyebilirsiniz (istediğiniz sıklıkta)
            await new Promise(resolve => setTimeout(resolve, 1000));
        } catch (error) {
            console.error('Hata:', error);
        }
    }

    // Toplanan tüm verileri göster
    console.log(allData);
}

// Belirli bir sayfa aralığını dolaşmak için fonksiyonu çağır
scrapeAllPages(1, 92);

Burada toplam 92 sayfayı gezip tüm linkleri verir.

V2 bir TEXT dosyası olarak kaydetme console yapıştırdıktan sonra belli bir süre beklemeniz gerekiyor sabırlı olun 😉

 

// Tüm sayfaları dolaşacak fonksiyon
async function scrapeAllPages(startPage, endPage) {
    // Toplam verileri depolamak için boş bir dizi oluştur
    var allData = [];

    // Belirli sayfa numaraları arasında döngü
    for (var page = startPage; page <= endPage; page++) {
        // Sayfanın URL'sini oluştur
        var url = 'https://hellabyte.one/file?page=' + page;

        // Sayfayı aç ve beklet
        try {
            const response = await fetch(url);
            const html = await response.text();

            // HTML içindeki verileri çek
            var parser = new DOMParser();
            var doc = parser.parseFromString(html, 'text/html');
            var elements = doc.querySelectorAll('.item-title');

            // Her bir öğe için ID ve içeriği al
            var pageData = Array.from(elements).map(function(element) {
                var onclickAttribute = element.getAttribute('onclick');
                var id = onclickAttribute.match(/'(.*?)'/)[1];
                var content = element.innerText.trim();
                return { id: id, content: content };
            });

            // Toplanan verileri genel listeye ekle
            allData = allData.concat(pageData);

            // Kısa bir bekleme süresi ekleyebilirsiniz (istediğiniz sıklıkta)
            await new Promise(resolve => setTimeout(resolve, 1000));
        } catch (error) {
            console.error('Hata:', error);
        }
    }

    // Verileri metin dosyasına yaz
    writeToBlob(allData);
}

// Verileri Blob'a yazacak fonksiyon
function writeToBlob(data) {
    const lines = data.map(item => `${item.id};${item.content}`).join('\n');
    const blob = new Blob([lines], { type: 'text/plain' });
    
    // Blob'u URL'e dönüştür
    const url = URL.createObjectURL(blob);

    // Link oluştur
    const link = document.createElement('a');
    link.href = url;
    link.download = 'output.txt';

    // Link'i tıklamak için bir olay tetikleyin
    link.click();

    // URL objesini temizle
    URL.revokeObjectURL(url);
}

// Belirli bir sayfa aralığını dolaşmak için fonksiyonu çağır
scrapeAllPages(1, 92);

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.