Ручка нумерации в Scrapy - PullRequest
       5

Ручка нумерации в Scrapy

0 голосов
/ 01 апреля 2020

Я соскребаю URL-адреса из файла json с 10 000 ой их. Я пытаюсь использовать нумерацию страниц в Scrapy, но нумерация страниц работает только для одной следующей страницы, даже если их 10 по URL. В чем проблема?

import json
import scrapy
import re
import pkgutil
from scrapy.loader import ItemLoader
from rzc_spider.items import AnnonceItem
class AnnonceSpider(scrapy.Spider):
    name = 'spid_results'

    def __init__(self, *args, **kwargs):
        data_file = pkgutil.get_data("spid_spider", "json/input/test_tt.json")
        self.data = json.loads(data_file)

    def start_requests(self):
        for item in self.data:
            request = scrapy.Request(item['spider_url'], callback=self.parse)
            request.meta['item'] = item
            yield request

    def parse(self, response):
        item = response.meta['item']
        item['results'] = []
        for caritem in response.css("div.car > div[itemtype='https://schema.org/']"):
            data = AnnonceItem()
            data["model"] = caritem.css(
                "model::text").extract_first()
            item['results'].append(data)

            next_page = response.css(
                'a.next::attr(href)').extract_first()
            if next_page is not None:
                url_pagination = 'https://www.example.org' + next_page

                meta = {'item': response.meta['item']}
                yield scrapy.Request(url=url_pagination, callback=self.parse, meta=meta)

        yield item
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...