5.00 / 1 oy

Scrapy'de loglama nasıl yapılır?

Scrapy'de yazmış olduğunuz css ya da xpath'lerden kaynaklı olarak istediğiniz response'ları alamıyor ve kalabalık terminal kodları içerisinde debug sürecini de yönetemiyorsanız aşama aşama xpath/css kodlarının response verilerini loglayarak manuel bir hata ayıklama süreci oluşturabilirsiniz.

Scrapy'de çıktı almak için de en pratik yöntem yine loglama yapmak olduğu için uygulamanız gereken adımlar şu şekilde:

import scrapy
import logging

class ...(scrapy.Spider):
    ...

    def parse(self, response):
        for urun in response.xpath("//.../div[@class='urun']"):
            urunlink = urun.xpath(".//.../@href").get()
            logging.error(urunlink)
            yield {
                'urunler': urunlink 
            }

Not: Gereksiz kodları çıkartarak sadece logging mantığını göstermek istedim, bu şekilde projenizin debug edilmesini gerek gördüğünüz noktalarında loglama yaparak nereden eksik veri aldığınızı kontrol edebilirsiniz.

 

Editör editi: sitedeki bazı diğer benzer yazılar için;

bkz: Web Scraping Nedir?

bkz: Scrapy ile response alma örneği (en basit yöntem)

bkz: Scrapy crawling işleminde sonraki sayfaya geçmek

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

bkz: Anaconda Navigator'a Scrapy Kurmak

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

bora34

30.09.2021 20:45

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.

Reitix
Scrapy'de loglama nasıl yapılır?

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