Scrapy, kitapyurdu top100

Kategori: Python , 14 Eylül 2019 , JanFranco


kitapyurdu.com adresindeki en popüler 100 kitabı çekelim. https://www.kitapyurdu.com/cok-satan-kitaplar/haftalik/1.html adresi ile başlayacağız, her adımda sayfadaki bir sonraki sayfanın linkini çekip o adrese gideceğiz. Sayfa sayısı 5 olduğunda programı sonlandıracağız:


import scrapy

class QuotesSpider(scrapy.Spider):
    name = "top100"
    page_count = 0
    start_urls = [
        'https://www.kitapyurdu.com/cok-satan-kitaplar/haftalik/1.html'
    ]

    def parse(self, response):
        name = response.css("div.name.ellipsis a span::text").extract()
        author = response.css("div.author a span::text").extract()
        publisher = response.css("div.publisher span a span::text").extract()

        i = 0

        while(i < len(name)):
            yield{
                "name": name[i],
                "author": author[i],
                "publisher": publisher[i]
            }
            i += 1

        nextURL = response.css("a.next::attr(href)").extract_first()
        self.page_count += 1

        if nextURL is not None and self.page_count != 5:
            yield scrapy.Request(url=nextURL, callback=self.parse)


Sonraki Yazı: Scrapy, sinemalar.com top1000
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın