5.00 / 1 oy

Scrapy'de her bir tarama öncesi erteleme eklemek

Scapy'de yazdığınız bir crawler'ın (bot) bir internet sitesinde eriştiği her bağlantıyı taraması, zaman zaman sunucu taraflı olarak engellemelere ya da hızdan kaynaklı olarak hatalara neden olabilir ve sayfa taramaları arasına kısa bir erteleme süresi (delay) eklemeniz, crawling işleminizin sağlığı için faydalı olabilir.

Scrapy'de her bir request'ten sonra erteleme (delay) eklemek için settings.py dosyası içerisine aşağıdaki satırı ekleyin.

DOWNLOAD_DELAY = 0.25

Not: Bazı sunucular, belirli aralıklarla gelen request'leri fark edebilecek kadar akıllı oldukları için isteklerinizi rastgeleleştiren RANDOMIZE_DOWNLOAD_DELAY özelliği de Scrapy'de istenirse aktive edilebilir.

 

Editör editi: sitedeki bazı diğer benzer başlıklar için;

bkz: Scrapy'de user-agent değiştirmek

bkz: Python ve Scrapy ile UTF-8 karakter hatalarını düzeltmek

bkz: Scrapy sonuçlarını export etmek (json, xml, csv)

bkz: Scrapy ile yeni bir proje açmak

bkz: Scrapy Nedir ve Nasıl Kullanılır?

bkz: Web Scraping Nedir?

bora34

30.07.2021 18:22

Bu soru 1 kez yanıtlandı.

  • 28 Aralık 2021 00:11
    0

    aynı IP adresinden çok fazla request alan sunucunun crawler'ı engelleyememesi için onu şaşırtmak bu kadar kolay olmamalı

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Scrapy'de her bir tarama öncesi erteleme eklemek

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.