Я использую код по этой ссылке (https://github.com/eloyz/reddit/blob/master/reddit/spiders/pic.py), но почему-то я не могу посетить страницу с разбивкой на страницы.Scrapy spider не соответствует pagination
Я на использование Scrapy 1.3.0
Я использую код по этой ссылке (https://github.com/eloyz/reddit/blob/master/reddit/spiders/pic.py), но почему-то я не могу посетить страницу с разбивкой на страницы.Scrapy spider не соответствует pagination
Я на использование Scrapy 1.3.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