Mövzunu Açan
#0
Puppeteer, Node.js için geliştirilmiş bir tarayıcı otomasyon kütüphanesidir ve genellikle web scraping işlemleri için sıklıkla kullanılmaktadır. Ancak, bazı web siteleri Cloudflare gibi güvenlik hizmetleri kullanarak botları tespit etmeye çalışmakta ve bu da veri çekme işlemlerinin kesintiye uğramasına neden olmaktadır. Bu durumda, Puppeteer ile birlikte kullanılan Stealth Plugin, bu tip engelleri aşmak için etkili bir çözüm sunmaktadır.
Stealth Plugin, Puppeteer ile entegre edilerek tarayıcıyı daha az belirgin hale getirir. Yani, tarayıcının bot olduğunu anlamasını zorlaştırır. Örneğin, kullanıcı ajanı, ekran boyutu ve diğer tarayıcı bilgileri gibi bilgileri gizleyerek daha doğal bir kullanıcı davranışı sergiler. Bu, web sitelerinin güvenlik sistemlerinin sizi bir bot olarak tanımasını engelleyebilir.
Stealth Plugin kullanarak Cloudflare'ı bypass etmek için aşağıdaki adımları izleyebilirsiniz:
Bu yöntem ile Cloudflare korumalı sitelere erişim sağlamak ve veri çekmek mümkündür. Ancak, her zaman dikkatli olunmalı ve web sitelerinin kullanım şartlarına uyulmalıdır. Bu tür tekniklerin etik kullanımı, veri çekme işlemlerinin sürdürülebilirliği açısından büyük önem taşımaktadır.
Stealth Plugin, Puppeteer ile entegre edilerek tarayıcıyı daha az belirgin hale getirir. Yani, tarayıcının bot olduğunu anlamasını zorlaştırır. Örneğin, kullanıcı ajanı, ekran boyutu ve diğer tarayıcı bilgileri gibi bilgileri gizleyerek daha doğal bir kullanıcı davranışı sergiler. Bu, web sitelerinin güvenlik sistemlerinin sizi bir bot olarak tanımasını engelleyebilir.
Stealth Plugin kullanarak Cloudflare'ı bypass etmek için aşağıdaki adımları izleyebilirsiniz:
- Kurulum: Öncelikle, Puppeteer ve Stealth Plugin'i kurmalısınız. Aşağıdaki komutları terminalde çalıştırarak bu kütüphaneleri yükleyebilirsiniz:
CODE
1 npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth- Kod Yapısı: Aşağıda, Stealth Plugin kullanarak Cloudflare korumalı bir siteye erişim sağlamak için örnek bir kod yer almaktadır:
CODE
12345678910111213141516
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://example.com', { waitUntil: 'networkidle2' });
const content = await page.content();
console.log(content);
await browser.close();
})();
- Veri Çekme: Yukarıdaki örnekte,
page.gotofonksiyonu ile hedef web sitesine gitmekteyiz.waitUntil: 'networkidle2'ile sayfanın yüklenmesini bekliyoruz. Sayfa yüklendikten sonrapage.content()metodu ile sayfanın HTML içeriğini alabiliriz.
Bu yöntem ile Cloudflare korumalı sitelere erişim sağlamak ve veri çekmek mümkündür. Ancak, her zaman dikkatli olunmalı ve web sitelerinin kullanım şartlarına uyulmalıdır. Bu tür tekniklerin etik kullanımı, veri çekme işlemlerinin sürdürülebilirliği açısından büyük önem taşımaktadır.