粗糙的分页不起作用

拉朱

我正在尝试学习Scrapy。

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


class QuotesSpider(scrapy.Spider):
    name = 'quotes'
    allowed_domains = ['quotes.toscrape.com/']
    start_urls = ['http://quotes.toscrape.com/']

    def parse(self, response):
        quotes = response.xpath('//*[@class="quote"]')

        for quote in quotes:
            text = quote.xpath(".//*[@class='text']/text()").extract_first()
            author = quote.xpath("//*[@itemprop='author']/text()").extract_first()
            tags = quote.xpath(".//*[@class='tag']/text()").extract();

            item = {
                'author_name':author,
                'text':text,
                'tags':tags
            }
            yield item
    next_page_url = response.xpath("//*[@class='next']/a/@href").extract_first()
    absolute_next_page_url = response.urljoin(next_page_url)
    yield scrapy.Request(url=absolute_next_page_url,callback=self.parse)

但是,scrapy只解析第一页。这段代码有什么问题。我从youtube教程中复制了它。

请帮忙。

ec

只是除第一个请求外的所有请求都被过滤为“ offsite”这是因为/allowed_domains的末尾有多余的部分

allowed_domains = ['quotes.toscrape.com/']
                    # REMOVE THIS SLASH^

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章