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);