Scrapy'de user-agent değiştirmek

Scrapy ile bir internet sitesini crawl ederken hangi user-agent bilgisini kullanarak bu crawling işlemini yapacağımızı kendimiz belirleyebiliyoruz. Bir internet sitesine tarayıcı aracılığıyla bir istek (request) gönderdiğimizde request header'da user-agent olarak tarayıcı bilgileri görünür. Srapy'de ise herhangi bir değişiklik yapmadan bir sunucuya istek göndermeniz durumunda user-agent bilgilerinizde Scrapy/x.x.x (kullanmakta olduğunuz Scrapy sürümü) görünecektir. Çok sık bot trafiği alan sunucularda bu gibi user-agent'lara karşı otomatik engellemeler olduğu için crawling işleminizi sorunsuz tamamlayabilmek için user-agent'ınızı değiştirerek Scrapy'yi tarayıcı gibi gösterebilirsiniz. Bunun için tarayıcınız ile bir internet sitesine girdikten sonra Network sekmesinden Request Headers altındaki user-agent bilgisini kopyalayın ve aşağıdaki şekilde Scrapy içinde user-agent bilgisini değiştirirken kullanın.

1. yöntem: settings.py dosyası içerisinde:

Yorum olarak işaretlenmiş olan USER_AGENT satırındaki yorumu kaldırın ve kendiniz ve internet siteniz hakkında bilgi verin (anonim olarak crawling yapmak için ise tarayıcınızda kopyalamış olduğunuz user-agent bilgisini buraya yapıştırın).

2. yöntem: scrapy.Request fonksiyonu içerisinde headers bilgilerini güncelleyin

3. yöntem: settings.py dosyası içerisinde DEFAULT_REQUEST_HEADERS seçeneğini değiştirmek:

DEFAULT_REQUEST_HEADERS = {
'User-Agent': Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36
}

 

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

bkz: Scrapy ile yeni bir proje açmak

bkz: Anaconda Navigator'a Scrapy Kurmak

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

bkz: Selenium nedir?

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

bkz: Selenium IDE Kurulumu (Chrome ve Firefox)

m.cengiz

17.06.2021 11:51

Bu soru henüz yanıtlanmamış.

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

İ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.