проблема с очисткой веб-сайтов с несколькими страницами

#python #web-scraping #scrapy

#python #очистка веб-страниц #scrapy

Вопрос:

Я использую python 3.8 и scrapy 1.6, я написал spider для очистки неанглоязычного веб-сайта, но разбивка на страницы не сработала, и я получил CSV-файл, содержащий только элементы первой страницы. Поскольку я не смог найти решение из других подобных вопросов, я прошу о помощи.

Вот мой код spider:

 # -*- coding: utf-8 -*-
import scrapy
import logging
import urllib.parse
parts= urllib.parse.urlsplit(u'http://fa.wikipedia.org/wiki/صفحهٔ_اصلی')
parts= parts._replace(path=urllib.parse.quote(parts.path.encode('utf8')))
encoded_url= parts.geturl().encode('ascii')
'https://fa.wikipedia.org/wiki/صفحهٔ_اصلی'


class PromotionsSpider(scrapy.Spider):
    name= 'promotions'
    allowed_domains=['www.digikala.com']
    
    def start_requests(self):
        yield scrapy.Request(url= 'https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4',
            callback= self.parse, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'})

    def parse(self, response):
        for product in response.xpath("//ul[@class='c-listing__items']/li"):
            yield{
                'title':product.xpath(".//a[@class='js-product-url']/text()").get(),
                'star':product.xpath(".//div[@class='c-product-box__engagement-rating']/text()").get(),
                'discounted_percent':product.xpath(".//div[@class='c-price__discount-oval']/span/text()").get(),
                'discounted_price':product.xpath(".//div[@class='c-price__value-wrapper']/text()").get(),
                'original_price':product.xpath(".//div[@class='c-price__value c-price__value--plp']/del/text()").get(),
                'url':response.urljoin(product.xpath(".//a[@class='js-product-url']/@href").get())
            }

        next_page=response.xpath("//a[@class='c-pager__next']/@href").get()
        if next_page:
            yield scrapy.Request(url=next_page, callback=self.parse, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'})
  

Использование абсолютного URL для кнопки «следующая страница» плюс ответ.follow или response.urljoin в последней части yield также не помогли. Я имею в виду, что изменение последней части приведенного ниже кода также не помогло:

 next_page=response.xpath("//html/body/main/div[2]/div/div[1]/div/div[2]/div/article/div/div[3]/ul/li[8]/a/@href").get()
if next_page:
    yield response.follow(url=next_page, callback=self.parse, headers={'User-Agent': 
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
        Chrome/84.0.4147.125 Safari/537.36'})
  

Может ли кто-нибудь помочь мне с проблемой разбивки на страницы?

Спасибо!!

Кстати, это журнал, который я получил после запуска кода в ответе 1:

 2020-08-19 08:35:29 [scrapy.utils.log] INFO: Scrapy 1.6.0 started (bot: digikala)
2020-08-19 08:35:29 [scrapy.utils.log] INFO: Versions: lxml 4.5.2.0, libxml2 2.9.10, cssselect 1.1.0, parsel 1.5.2, w3lib 1.21.0, Twisted 20.3.0, Python 3.8.5 (default, Aug  5 2020, 09:44:06) [MSC v.1916 64 bit (AMD64)], pyOpenSSL 19.1.0 (OpenSSL 1.1.1g  21 Apr 2020), cryptography 2.9.2, Platform Windows-10-10.0.19041-SP0
2020-08-19 08:35:29 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'digikala', 'FEED_FORMAT': 'csv', 'FEED_URI': 'dataset1.csv', 'NEWSPIDER_MODULE': 'digikala.spiders', 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['digikala.spiders']}
2020-08-19 08:35:29 [scrapy.extensions.telnet] INFO: Telnet Password: 7e28ac39aab69aaa
2020-08-19 08:35:29 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.corestats.CoreStats',
 'scrapy.extensions.telnet.TelnetConsole',
 'scrapy.extensions.feedexport.FeedExporter',
 'scrapy.extensions.logstats.LogStats']
2020-08-19 08:35:29 [scrapy.middleware] INFO: Enabled downloader middlewares:
['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware',
 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
 'scrapy.downloadermiddlewares.retry.RetryMiddleware',
 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
 'scrapy.downloadermiddlewares.stats.DownloaderStats']
2020-08-19 08:35:29 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
 'scrapy.spidermiddlewares.referer.RefererMiddleware',
 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
 'scrapy.spidermiddlewares.depth.DepthMiddleware']
2020-08-19 08:35:29 [scrapy.middleware] INFO: Enabled item pipelines:
[]
2020-08-19 08:35:29 [scrapy.core.engine] INFO: Spider opened
2020-08-19 08:35:29 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2020-08-19 08:35:29 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2020-08-19 08:35:32 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET https://www.digikala.com/robots.txt> (failed 1 times): 500 Internal Server Error
2020-08-19 08:35:33 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET https://www.digikala.com/robots.txt> (failed 2 times): 500 Internal Server Error
2020-08-19 08:35:33 [scrapy.downloadermiddlewares.retry] DEBUG: Gave up retrying <GET https://www.digikala.com/robots.txt> (failed 3 times): 500 Internal Server Error
2020-08-19 08:35:33 [scrapy.core.engine] DEBUG: Crawled (500) <GET https://www.digikala.com/robots.txt> (referer: None)
2020-08-19 08:35:34 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4> (referer: None)
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب تختخوابت را مرتب کن اثر ژنرال ویلیام اچ. مک ریون', 'star': 'n                            ۴.۴n                            ', 'discounted_percent': 'n                                    ٪۱۰n                                         ', 'discounted_price': 'n                                    ۱۳,۵۰۰ ', 'original_price': '۱۵,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-392946/کتاب-تختخوابت-را-مرتب-کن-اثر-ژنرال-ویلیام-اچ-مک-ریون'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب خودت را به فنا نده اثر گری جان بیشاپ', 'star': 'n                            ۴.۴n                            ', 'discounted_percent': 'n                                    ٪۲۹n                                         ', 'discounted_price': 'n                                    ۱۲,۷۰۰ ', 'original_price': '۱۸,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-1050124/کتاب-خودت-را-به-فنا-نده-اثر-گری-جان-بیشاپ'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب قانون 5 ثانیه اثر مل رابینز نشر نوین', 'star': 'n                            ۴.۴n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۳۵,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-1505778/کتاب-قانون-5-ثانیه-اثر-مل-رابینز-نشر-نوین?variant_id=3853061amp;ads_cookie=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXBlIjoic3BvbnNvcmVkIiwiaWQiOjIzNTE4MCwidmFyaWFudF9pZCI6Mzg1MzA2MSwiZXhwaXJlX2F0IjoxNjAwNDg4MzMzfQ.1Mh5KnFzmaQyP-dW73x3Ik7xkdXaaYWyktov9XTE8rQamp;click_expire=1'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب ای کاش وقتی 20 ساله بودم می دانستم اثر تینا سیلیگ', 'star': 'n                            ۴.۵n                            ', 'discounted_percent': 'n                                    ٪۱۵n                                         ', 'discounted_price': 'n                                    ۲۹,۰۰۰ ', 'original_price': '۳۴,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-222291/کتاب-ای-کاش-وقتی-20-ساله-بودم-می-دانستم-اثر-تینا-سیلیگ'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب چهار اثر از فلورانس اسکاول شینxa0اثر فلورانس اسکاول شین نشر پیکان', 'star': 'n                            ۴.۵n                            ', 'discounted_percent': 'n                                    ٪۲۵n                                         ', 'discounted_price': 'n                                    ۴۸,۹۰۰ ', 'original_price': '۶۵,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-2696368/کتاب-چهار-اثر-از-فلورانس-اسکاول-شین-اثر-فلورانس-اسکاول-شین-نشر-پیکان'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب شرمنده نباش دختر اثر ریچل هالیس نشر کتاب کوله پشتی', 'star': 'n                            ۴.۶n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۳۰,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-1556940/کتاب-شرمنده-نباش-دختر-اثر-ریچل-هالیس-نشر-کتاب-کوله-پشتی'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب هنر شفاف اندیشیدن اثر رولف دوبلی', 'star': 'n                            ۴.۴n                            ', 'discounted_percent': 'n                                    ٪۱۰n                                         ', 'discounted_price': 'n                                    ۵۸,۴۰۰ ', 'original_price': '۶۵,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-82937/کتاب-هنر-شفاف-اندیشیدن-اثر-رولف-دوبلی'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب زنان زیرک اثر شری آرگو', 'star': 'n                            ۴.۵n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۳۳,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-413298/کتاب-زنان-زیرک-اثر-شری-آرگو'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب قانون جذب اثر راندا برن نشر نیک فرجام', 'star': 'n                            ۴.۵n                            ', 'discounted_percent': 'n                                    ٪۶۰n                                         ', 'discounted_price': 'n                                    ۱۸,۰۸۰ ', 'original_price': '۴۵,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-1598779/کتاب-قانون-جذب-اثر-راندا-برن-نشر-نیک-فرجام'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب نیمه تاریک وجود اثر دبی فورد نشر آتیسا', 'star': 'n                            ۴.۵n                            ', 'discounted_percent': 'n                                    ٪۵۹n                                         ', 'discounted_price': 'n                                    ۱۸,۹۰۰ ', 'original_price': '۴۶,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-1111023/کتاب-نیمه-تاریک-وجود-اثر-دبی-فورد-نشر-آتیسا'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب کاش وقتی بیست ساله بودم می دانستم اثر تینا سیلیگ نشر میلکان', 'star': 'n                            ۴.۴n                            ', 'discounted_percent': 'n                                    ٪۲۲n                                         ', 'discounted_price': 'n                                    ۲۷,۲۶۰ ', 'original_price': '۳۵,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-2163319/کتاب-کاش-وقتی-بیست-ساله-بودم-می-دانستم-اثر-تینا-سیلیگ-نشر-میلکان'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب حکایت دولت و فرزانگی اثر مارک فیشر', 'star': 'n                            ۴.۶n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۱۵,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-174855/کتاب-حکایت-دولت-و-فرزانگی-اثر-مارک-فیشر'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب از حال بد به حال خوب اثر دیوید برنز', 'star': 'n                            ۴.۴n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۹۰,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-211336/کتاب-از-حال-بد-به-حال-خوب-اثر-دیوید-برنز'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب پدر پولدار، پدر بی پول اثر رابرت کیوساکی', 'star': 'n                            ۴.۵n                            ', 'discounted_percent': 'n                                    ٪۲۵n                                         ', 'discounted_price': 'n                                    ۳۶,۰۰۰ ', 'original_price': '۴۸,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-38248/کتاب-پدر-پولدار-پدر-بی-پول-اثر-رابرت-کیوساکی'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب برتری خفیف اثر جف اولسون', 'star': 'n                            ۴.۵n                            ', 'discounted_percent': 'n                                    ٪۱۳n                                         ', 'discounted_price': 'n                                    ۳۹,۱۰۰ ', 'original_price': '۴۵,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-141776/کتاب-برتری-خفیف-اثر-جف-اولسون'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب اسرار ذهن ثروتمند اثر تی. هارو اکر', 'star': 'n                            ۴.۶n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۳۹,۹۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-38199/کتاب-اسرار-ذهن-ثروتمند-اثر-تی-هارو-اکر'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب عیبی ندارد اگر حالت خوش نیست اثر مگان دیواین نشر میلکان', 'star': 'n                            ۴.۶n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۳۵,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-2295613/کتاب-عیبی-ندارد-اگر-حالت-خوش-نیست-اثر-مگان-دیواین-نشر-میلکان'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب به بچه ها گفتن، از بچه ها شنیدن 1 (گفت و شنود با کودکان)', 'star': 'n                            ۴.۴n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۵۵,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-40926/کتاب-به-بچه-ها-گفتن-از-بچه-ها-شنیدن-1-گفت-و-شنود-با-کودکان'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب تحلیل رفتار متقابل اثر اریک برن', 'star': 'n                            ۴.۲n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۶۵,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-191367/کتاب-تحلیل-رفتار-متقابل-اثر-اریک-برن'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب پاکسازی ضمیر اثر دبی فورد انتشارات آتیسا', 'star': 'n                            ۴.۳n                            ', 'discounted_percent': 'n                                    ٪۶۵n                                         ', 'discounted_price': 'n                                    ۱۶,۲۶۰ ', 'original_price': '۴۶,۰۰۰', 'url': 'https://www.digikala.com/product/dkp-1647566/کتاب-پاکسازی-ضمیر-اثر-دبی-فورد-انتشارات-آتیسا'}
2020-08-19 08:35:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4>
{'title': 'کتاب فلسفه تنهایی اثر لارس اسونسن نشر نو', 'star': 'n                            ۴.۳n                            ', 'discounted_percent': None, 'discounted_price': 'n                                    ۳۵,۰۰۰ ', 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-1109645/کتاب-فلسفه-تنهایی-اثر-لارس-اسونسن-نشر-نو'}
2020-08-19 08:35:36 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62> (referer: https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;pageno=1amp;last_filter=typeamp;last_value=4844amp;sortby=4)
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب ماساژ آیورودیک اثر هریش جوهری انتشارات سفیر اردهال', 'star': None, 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-2957437/کتاب-ماساژ-آیورودیک-اثر-هریش-جوهری-انتشارات-سفیر-اردهال'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب انسان های موفق چگونه می اندیشند اثر جان سی مکس ول', 'star': None, 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-178649/کتاب-انسان-های-موفق-چگونه-می-اندیشند-اثر-جان-سی-مکس-ول'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب سمینار تصویری آموزشی اثر برایان تریسی', 'star': None, 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-242658/کتاب-سمینار-تصویری-آموزشی-اثر-برایان-تریسی'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب تا نغمه ای در دل دارید باید زنده بمانید اثر سرنا دایر،وین دایر', 'star': None, 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-247582/کتاب-تا-نغمه-ای-در-دل-دارید-باید-زنده-بمانید-اثر-سرنا-دایروین-دایر'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب اینترنت با مغز ما چه می کند اثر نیکلاس کار', 'star': 'n                            ۴.۳n                            ', 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-143243/کتاب-اینترنت-با-مغز-ما-چه-می-کند-اثر-نیکلاس-کار'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب به چشمک های خداوند توجه کن اثر اسکوایر راشنل', 'star': 'n                            ۵n                            ', 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-271643/کتاب-به-چشمک-های-خداوند-توجه-کن-اثر-اسکوایر-راشنل'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب گانگ هو، مدیریت شگفت انگیز اثر کنت بلانچاردxa0نشر نسل نواندیش', 'star': None, 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-41160/کتاب-گانگ-هو-مدیریت-شگفت-انگیز-اثر-کنت-بلانچارد-نشر-نسل-نواندیش'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب راز شادابی کودکان اثر استیو بیدالف', 'star': 'n                            ۳n                            ', 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-71210/کتاب-راز-شادابی-کودکان-اثر-استیو-بیدالف'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب زندگی مثبت اثر کارن ریویچ،اندرو شاته', 'star': None, 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-242600/کتاب-زندگی-مثبت-اثر-کارن-ریویچاندرو-شاته'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب آموزش محبت آمیز کودکان اثر دکتر مارشال روزنبرگ', 'star': 'n                            ۴n                            ', 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-345552/کتاب-آموزش-محبت-آمیز-کودکان-اثر-دکتر-مارشال-روزنبرگ'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب آینده خود را خلق کنید اثر برایان تریسی', 'star': 'n                            ۴n                            ', 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-38192/کتاب-آینده-خود-را-خلق-کنید-اثر-برایان-تریسی'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب پیام تن اثر ترز برترا و کارول برنشتاین نشر آسیم', 'star': None, 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-2329294/کتاب-پیام-تن-اثر-ترز-برترا-و-کارول-برنشتاین-نشر-آسیم'}
2020-08-19 08:35:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.digikala.com/search/category-book/?type[0]=4844amp;promotion_types[0]=promotionamp;last_filter=typeamp;last_value=4844amp;sortby=4amp;pageno=62>
{'title': 'کتاب قدرت همزمانی اثر دیوید ریکو نشر افکار', 'star': None, 'discounted_percent': None, 'discounted_price': None, 'original_price': None, 'url': 'https://www.digikala.com/product/dkp-2270633/کتاب-قدرت-همزمانی-اثر-دیوید-ریکو-نشر-افکار'}
2020-08-19 08:35:36 [scrapy.core.engine] INFO: Closing spider (finished)
2020-08-19 08:35:36 [scrapy.extensions.feedexport] INFO: Stored csv feed (54 items) in: dataset1.csv
2020-08-19 08:35:36 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 1829,
 'downloader/request_count': 5,
 'downloader/request_method_count/GET': 5,
 'downloader/response_bytes': 173357,
 'downloader/response_count': 5,
 'downloader/response_status_count/200': 2,
 'downloader/response_status_count/500': 3,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2020, 8, 19, 4, 5, 36, 263555),
 'item_scraped_count': 54,
 'log_count/DEBUG': 60,
 'log_count/INFO': 10,
 'request_depth_max': 1,
 'response_received_count': 3,
 'retry/count': 2,
 'retry/max_reached': 1,
 'retry/reason_count/500 Internal Server Error': 2,
 'robotstxt/request_count': 1,
 'robotstxt/response_count': 1,
 'robotstxt/response_status_count/500': 1,
 'scheduler/dequeued': 2,
 'scheduler/dequeued/memory': 2,
 'scheduler/enqueued': 2,
 'scheduler/enqueued/memory': 2,
 'start_time': datetime.datetime(2020, 8, 19, 4, 5, 29, 409327)}
2020-08-19 08:35:36 [scrapy.core.engine] INFO: Spider closed (finished)
  

Дело в том, что ‘item_scraped_count’ должен составлять около 2000 элементов, но он по-прежнему равен 54

Ответ №1:

Можете ли вы попробовать это так?

 next_page=response.xpath("//a[@class='c-pager__next']/@href").get()
if next_page:
    yield scrapy.Request(response.urljoin(next_page), headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'})
  

Xpath во втором фрагменте вашего кода не дает никаких результатов для меня, поэтому имеет смысл, что это не работает.
Также было бы полезно, если бы вы могли поделиться логами, чтобы мы могли видеть, происходит ли что-то еще неправильно.

РЕДАКТИРОВАТЬ: приведенный выше xpath предоставит вам ссылку для перехода на последнюю страницу. Чтобы перейти на следующую страницу, вы можете использовать эту:

 next_page = response.xpath('//*[@class="c-pager__item is-active"]/../following-sibling::*//@href').extract_first()
  

Комментарии:

1. Привет, @Wim Hermans, спасибо за вашу помощь, я добавил журнал, который я получил, в сообщение. Он по-прежнему не очищает другие страницы.

2. Теперь я вижу, что когда я отключаю javascript и нажимаю на кнопку Далее, он переходит на последнюю страницу. Вот почему очищается только 54 элемента. Если в этом случае вы не нажмете на номера страниц с первой по 62. Итак, как я могу сказать scrapy, чтобы он нажимал на номера страниц вместо кнопки далее?

3. Тогда нам просто нужно адаптировать xpath. Я внес правку в ответ, указав правильный xpath для следующей страницы (я думаю)

4. Спасибо @Wim Hermans, теперь я очистил 108 элементов, что означает, что было очищено 3 страницы, но осталось очистить 62 страницы. как вы думаете, в чем проблема?

5. вероятно, xpath недостаточно точен — в этом случае, когда мы переходим на страницу 2, xpath, который должен предоставить следующую страницу, может вместо этого ссылаться на страницу 1. Я снова отредактировал xpath, чтобы использовать URL-адрес, который идет после «активного»