Scrapy не работает для переворачивания всех страниц - PullRequest
0 голосов
/ 06 марта 2019

Я хочу просканировать всю категорию товаров, но, похоже, что до определенного момента она работает хорошо, а потом останавливается.

Вот мой код:

import scrapy
from Demo.items import DemoItem
class ProductSpider(scrapy.Spider):
    name='black1'

    start_urls = [ 'https://octopart.com/search?category_ids=4215&start=0' ]

    def parse(self,response):
        items = DemoItem()

        for product in response.xpath("//div[@class='serp-card-header media']/div[@class='media-body']"):
            name =  product.xpath(".//a/span[@class='part-card-manufacturer']/text()").extract()
            ver = product.xpath(".//a/span[@class='part-card-mpn']/text()").extract()

            items['product_name'] = ''.join(name).strip()
            items['product_code'] = ''.join(ver).strip()
            yield items

        next_page = response.xpath("//a[contains(text(), 'Next')]/@href").extract_first()

        print next_page

        if next_page is not None:
            print next_page
            next_page_link = response.urljoin(next_page)
            print next_page_link
            yield scrapy.Request(url=next_page_link, callback=self.parse)

И результат:

https://octopart.com/search?category_ids=4215&start=200 
2019-03-06 13:51:46 [scrapy.core.engine] DEBUG: Crawled (403) <GET https://octopart.com/search?category_ids=4215&start=200> (referer: https://octopart.com/search?category_ids=4215&start=190) 
2019-03-06 13:51:46 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://octopart.com/search?category_ids=4215&start=200>: HTTP status code is not handled or not allowed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...