2017-01-20 5 views

ответ

0

У вас нет никакого механизма для обработки следующей страницы, вы все это сбор изображений.

Вот что вы должны делать, я написал несколько селекторов, но не тестировал его.

из scrapy.spiders импорта Паук из scrapy.selector импорта Selector из SCRAPY импорта запрос импорт urlparse

класс xxx_spider (Паук): имя = "ххх" allowed_domains = [ "xxx.com" ]

def start_requests(self): 
    url = 'first page url' 
    yield Request(url=url, callback=self.parse, meta={"page":1}) 


def parse(self, response): 
    page = response.meta["page"] + 1 
    html = Selector(response) 

    pics = html.css('div.thing') 
    for selector in pics:     
     item = PicItem() 
     item['image_urls'] = selector.xpath('a/@href').extract() 
     item['title'] = selector.xpath('div/p/a/text()').extract() 
     item['url'] = selector.xpath('a/@href').extract() 

     yield item 

    next_link = html.css("span.next-button a::attr(href)") 
    if not next_link is None: 
     yield Request(url=url, callback=self.parse, meta={"page":page}) 

Подобно тому, что вы сделали, но когда я получаю изображения, я затем проверить следующую ссылку страницы, если она существует, то я уступаю другой запрос с ним.

Mehmet

Смежные вопросы