Как отобразить детали паука на странице результатов с нумерацией страниц - PullRequest
0 голосов
/ 12 января 2019

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

Я запускаю паука с помощью scrap runspider -s USER_AGENT = 'Googlebot' myspider.py

# -*- coding: utf-8 -*-
import scrapy


class AuthorsSpider(scrapy.Spider):
name = 'njuskalo'
allowed_domains = ['njuskalo.hr/']
start_urls = ['https://www.njuskalo.hr/agencija/domino-nekretnine']

def parse(self, response):
    urls = response.css('h3.entity-title > a.link::attr(href)').extract()
    for url in urls:
        url = response.urljoin(url)
        yield scrapy.Request(url=url, callback=self.parse_details)
    # follow pagination link
        next_page_url = response.xpath('//*[@id="form_browse_detailed_search"]/div[2]/div[1]/div[2]/div[1]/nav/ul/li[last()]/a/@href').extract_first()
        if next_page_url:
            yield scrapy.Request(url=next_page_url, callback=self.parse)

    def parse_details(self, response):
    pattern = r'"displayCountText":(\d+),'
    yield {
    'naslov': response.css('h1.entity-title::text').extract(),
    'agencijska_sifra': response.xpath('//th[contains(text(),"Šifra objekta:")]/following-sibling::td/text()').extract(),
    'broj_prikaza': response.xpath('//script').re(pattern),
    }
...